
Akim Demaille <akim@epita.fr> writes:
No comment...
Je crois que c'est toi qui interprète mal la sortie de diff... Un exemple : $ echo -n "without" > foo1 $ echo "with" > foo2 $ hexdump -C foo1 00000000 77 69 74 68 6f 75 74 |without| 00000007 $ hexdump -C foo2 00000000 77 69 74 68 0a |with.| 00000005 $ diff -u foo1 foo2 --- foo1 2004-04-20 12:31:34.000000000 +0200 +++ foo2 2004-04-20 12:31:43.000000000 +0200 @@ -1 +1 @@ -without \ Pas de fin de ligne à la fin du fichier. +with $ diff -u foo2 foo1 --- foo2 2004-04-20 12:31:43.000000000 +0200 +++ foo1 2004-04-20 12:31:34.000000000 +0200 @@ -1 +1 @@ -with +without \ Pas de fin de ligne à la fin du fichier. Le message est affiché même lorsque le '\n' a été enlevé. Pour peu que la dérnière ligne soit vide et que -w est utilisé, on obtient un comportement un peu particulier : $ echo -en "without\n " > foo1 $ echo -en "with\n\n" > foo2 $ hexdump -C foo1 00000000 77 69 74 68 6f 75 74 0a 20 |without. | 00000009 $ hexdump -C foo2 00000000 77 69 74 68 0a 0a |with..| 00000006 $ diff -uw foo1 foo2 --- foo1 2004-04-20 12:36:08.000000000 +0200 +++ foo2 2004-04-20 12:36:22.000000000 +0200 @@ -1,2 +1,2 @@ -without +with \ Pas de fin de ligne à la fin du fichier. $ diff -uw foo2 foo1 --- foo2 2004-04-20 12:36:22.000000000 +0200 +++ foo1 2004-04-20 12:36:08.000000000 +0200 @@ -1,2 +1,2 @@ -with +without $ Certaines choses restent encore un peu mystèrieuses pour moi (le fait que le dernier diff ne mentionne pas que le '\n' terminal ai été retiré par exemple). Néanmoins, cela explique le message : le fichier d'origine n'avais pas de '\n' terminal et sa dernière ligne était uniquement composée d'espaces, et cela à été corrigé lors du checkin. Ce n'est donc pas l'auteur du checkin qu'il faut blamer, mais la personne qui avait crée ce fichier auparavant. :) -- Thomas Claveirole thomas.claveirole@lrde.epita.fr