Nous avons un grand nombre de programmeurs sur différentes plates-formes utilisant tous CVS.terminaisons de ligne CVS
Nous avons les développeurs utilisant des fenêtres avec TortoiseCVS (qui utilise cvsnt)
Nous avons les développeurs utilisant ubuntu 8.04
Nous avons des développeurs qui ont deux boîtes Ubuntu et Windows.
Un large éventail d'éditeurs différents sont utilisés par différents développeurs sur différentes plates-formes.
Et nous avons d'énormes problèmes avec les fins de ligne. Ce qui se manifeste par une croissance continue du nombre de fins de ligne dans les fichiers. Maintenant, si je comprends bien, TortoiseCVS utilise cvsNT qui suppose que les fins de ligne UNIX dans le référentiel. Lorsque vous enregistrez, il convertit la fin de la ligne UNIX en fins de ligne Windows et lorsque vous validez, les extrémités des lignes Windows sont converties en fins de ligne UNIX.
Dans ubuntu, les clients cvs ne font pas de conversions car le référentiel doit être une terminaison de ligne UNIX et linux utilise également les fins de ligne UNIX.
Tout cela fonctionne bien à condition que tout le monde sur Windows utilise un client basé sur cvsNT. Et personne ne change leur OS. Malheureusement, les utilisateurs de boîtes Ubuntu et Windows basculent souvent et peuvent vérifier, éditer ou valider sur différents systèmes d'exploitation. Par conséquent, ils finissent par valider un fichier en utilisant le client Linux CVS qui a des fins de ligne Windows. Lorsque ceci est extrait à l'aide d'un client cvsNT sous Windows, le CRLF est converti en CRCRLF qui apparaît sous la forme de deux lignes. Plus cela se produit, plus de nouvelles lignes apparaissent dans le fichier.
Existe-t-il un moyen de convertir CVS sur Linux pour convertir n'importe quelle fin de ligne Windows en fin de ligne UNIX sur un commit pour éviter que cela ne se produise. De cette façon, le serveur CVS aura seulement des fins de ligne UNIX. Toute autre suggestion de moyens de surmonter cela est également la bienvenue.
Je trouve l'option CVSNT particulier particulièrement difficile à trouver, donc la voici: http://evscm.org/manual/html/Substitution-modes.html. – Leo