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.autocrlfafalsetutto 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.autocrlfatruesu Windows einputsu 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.autocrlfspento 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?
autocrlfsu 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 truesecondo me è un male.) Non riesco a vedere alcun lato negativo nell'uso autocrlf = input.
autocrlfa false.