Ce site en-tête est appelé jeu de monnaie, ou hunk. Chaque hunk commence par une ligne qui contient, entourée de @@, la ligne ou la plage de ligne from,no-of-lines
dans le fichier précédent (avec un -
) et après (avec un +
) les changements. Ensuite viennent les lignes du fichier. Les lignes qui commencent par un -
sont supprimées, les lignes commençant par un +
sont ajoutés. Chaque ligne modifiée par le patch est entourée de 3 lignes de contexte avant et après.
Un ajout ressemble à ceci :
@@ -75,6 +103,8 @@
foo
bar
baz
+line1
+line2
more context
and more
and still context
Cela signifie que, dans le fichier original, avant la ligne 78 (= 75 + 3 lignes de contexte), ajoutez deux lignes. Ce seront les lignes 106 (= 103 + 3 lignes de contexte) à 107 après tous les changements.
Notez la différence dans from
(-75 vs +103), cela signifie qu'il y a eu d'autres changements dans ce fichier avant ce morceau particulier, qui ont ajouté 28 (103 - 75) lignes de code.
Une suppression ressemble à ceci :
@@ -75,7 +75,6 @@
foo
bar
baz
-line1
more context
and more
and still context
Cela signifie qu'il faut supprimer la ligne 78 (= 75 + 3 lignes de contexte) dans le fichier original. Le contexte inchangé sera sur les lignes 75 à 80 après toutes les modifications.
Notez que from
Les nombres dans ce hunk sont égaux (-75 et +75), cela signifie que soit il n'y a eu aucune modification avant ce hunk, soit les quantités de lignes ajoutées et supprimées dans les modifications précédentes sont les mêmes.
Finalement, une modification ressemble à ceci :
@@ -70,7 +70,7 @@
foo
bar
baz
-red
+blue
more context
and more
still context
Cela signifie qu'il faut changer la ligne 73 (= 70 + 3 lignes de contexte) dans le fichier avant tous les changements, qui contient le rouge en bleu. La ligne modifiée est également la ligne 73 (= 70 + 3 lignes de contexte) dans le fichier après toutes les modifications.
Le crédit revient à Markus Bertheau .