J'ai un référentiel Git accessible à partir de Windows et OS X, et que je sais contient déjà certains fichiers avec des fins de ligne CRLF. Autant que je sache, il y a deux façons de gérer cela:
Mis
core.autocrlf
àfalse
partout,Suivez les instructions ici (écho sur les pages d'aide GitHub) pour convertir le référentiel pour ne contenir que de fins de ligne LF, et mis ensuite
core.autocrlf
àtrue
sous Windows etinput
sous Mac OS X. Le problème avec cela est que si j'ai des fichiers binaires dans le référentiel cette:- ne sont pas correctement marqués comme binaires dans gitattributes, et
- arriver à contenir à la fois CRLF et LF,
ils seront corrompus. Il est possible que mon référentiel contienne de tels fichiers.
Alors pourquoi ne devrais-je pas simplement désactiver la conversion de fin de ligne de Git? Il existe de nombreux avertissements vagues sur le Web concernant la core.autocrlf
désactivation causant des problèmes, mais très peu de problèmes spécifiques ; le seul que j'ai trouvé jusqu'à présent est que kdiff3 ne peut pas gérer les terminaisons CRLF (pas un problème pour moi), et que certains éditeurs de texte ont des problèmes de fin de ligne (également pas un problème pour moi).
Le référentiel est interne à mon entreprise et je n'ai donc pas à me soucier de le partager avec des personnes ayant des paramètres d'autocrlf différents ou des exigences de fin de ligne.
Y a-t-il d'autres problèmes avec le fait de laisser les terminaisons de ligne telles quelles que je ne connais pas?
autocrlf
à faux. Je cherche des raisons pour que ce soit vrai.
autocrlf = input
: cela semble être la résolution parfaite entre les deux extrêmes: vous gardez votre dépôt propre de la merde CRLF, et les développeurs Windows localement peuvent utiliser tout ce qu'ils veulent sans que leurs fichiers locaux n'aient quelque chose de magique qui leur soit fait automatiquement. (Ils peuvent vouloir LF localement pour diverses raisons, donc true
c'est mauvais, à mon avis.) Je ne vois aucun inconvénient à utiliser autocrlf = input
.
autocrlf
à faux.