Ho un repository Git a cui si accede sia da Windows che da OS X e che so già contiene alcuni file con terminazioni di linea CRLF. Per quanto ne so, ci sono due modi per affrontarlo:
Impostare
core.autocrlf
afalse
tutto il mondo,Seguire le istruzioni qui (eco sulle pagine di aiuto di GitHub) per convertire il repository per contenere solo LF line-finali, e successivamente impostare
core.autocrlf
atrue
su Windows einput
su OS X. Il problema di questa operazione è che se ho tutti i file binari nel repository quello:- non sono correttamente contrassegnati come binari in gitattributes e
- capita di contenere sia CRLF che LF,
saranno corrotti. È possibile che il mio repository contenga tali file.
Quindi perché non dovrei semplicemente disattivare la conversione di fine riga di Git? Ci sono molti avvisi vaghi sul web di aver core.autocrlf
spento causando problemi, ma pochissimi quelli specifici ; l'unico che ho scoperto finora è che kdiff3 non è in grado di gestire le terminazioni CRLF (non è un problema per me) e che alcuni editor di testo hanno problemi di fine riga (anche per me non è un problema).
Il repository è interno alla mia azienda, quindi non devo preoccuparmi di condividerlo con persone con diverse impostazioni di autocrlf o requisiti di fine riga.
Ci sono altri problemi nel lasciare le terminazioni così come sono di cui non sono a conoscenza?
autocrlf
su false. Sto cercando dei motivi per impostarlo su true.
autocrlf = input
: sembra essere la risoluzione perfetta tra i due estremi: mantieni il tuo repository pulito dalla merda CRLF e gli sviluppatori locali di Windows possono usare tutto ciò che vogliono senza che i loro file locali abbiano automaticamente qualcosa di magico. (Potrebbero volere LF localmente per vari motivi, quindi true
secondo me è un male.) Non riesco a vedere alcun lato negativo nell'uso autocrlf = input
.
autocrlf
a false.