Eu tenho um repositório Git que é acessado no Windows e no OS X e que eu sei que já contém alguns arquivos com finais de linha CRLF. Até onde eu sei, existem duas maneiras de lidar com isso:
Defina
core.autocrlf
parafalse
qualquer lugar,Siga as instruções aqui (ecoadas nas páginas de ajuda do GitHub) para converter o repositório para conter apenas terminações de linhas LF e, posteriormente, definido
core.autocrlf
comotrue
no Windows einput
no OS X. O problema é que se eu tiver arquivos binários no repositório aquele:- não estão corretamente marcados como binários em gitattributes e
- por acaso contenham CRLFs e LFs,
eles serão corrompidos. É possível que meu repositório contenha esses arquivos.
Então, por que eu não deveria simplesmente desativar a conversão de final de linha do Git? Há uma série de advertências vagas na web sobre ter core.autocrlf
desligado causando problemas, mas muito poucos específicos queridos; o único que descobri até agora é que o kdiff3 não pode lidar com terminações CRLF (não é um problema para mim) e que alguns editores de texto têm problemas de final de linha (também não são um problema para mim).
O repositório é interno à minha empresa e, portanto, não preciso me preocupar em compartilhá-lo com pessoas com diferentes configurações de autocrlf ou requisitos de final de linha.
Existem outros problemas em deixar os finais de linha como eu desconheço?
autocrlf
como falso. Estou procurando por razões para defini-lo como verdadeiro.
autocrlf = input
: parece ser a resolução perfeita entre os dois extremos: você mantém seu repositório limpo de porcarias de CRLF, e os desenvolvedores localmente do Windows podem usar o que quiserem sem que seus arquivos locais tenham algo mágico feito automaticamente. (Eles podem querer LF localmente por vários motivos, true
na minha opinião , isso é ruim.) Não vejo desvantagens no uso autocrlf = input
.
autocrlf
para false.