Se você já teve que trabalhar com uma base de código onde os arquivos contêm linhas com terminações de linha inconsistentes
e
Você gostaria de ter certeza de que pelo menos os arquivos que você tocou não tenham mais esse problema
e
Você usa Powershell e MSysGit no Windows, você pode usar isto:
Para converter LF em CRLF:
git diff --cached --name-only | foreach { dos2unix -D $_ }
Isso basicamente diz ao git para listar os arquivos que foram testados e iterar sobre eles para alterar seus finais de linha
É uma boa quantidade de digitação, então eu criei o alias do comando git
git config --global alias.stgd 'diff --cached --name-only'
E o comando agora se torna:
git stgd | foreach { dos2unix -D $_}
Muito melhor. No entanto, os arquivos ainda não são testados. Vamos cuidar disso:
git stgd | foreach { dos2unix -D $_; git add $_}
E isso garantirá que todos os arquivos testados em que você trabalhou tenham terminações de linha adequadas no Windows 🙂
NOTA: Estou usando o dos2unix aqui e não TYPE unix_file | FIND "" /V > dos_file
como sugerido pela wikipedia porque o find funciona de maneira diferente no PowerShell.