Nagłówek nazywa się zestawem zmian lub przystojniakiem. Każdy kawałek zaczyna się od linii, która zawiera, zamknięta w @@, linię lub linię from,no-of-lines
w pliku przed (z -
) i po (z +
) zmianami. Potem przychodzą linie z pliku. Linie rozpoczynające się od -
są usuwane, dodawane są linie zaczynające się od +
. Każda linia zmodyfikowana przez łatę jest otoczona 3 liniami kontekstu przed i po.
Dodatek wygląda następująco:
@@ -75,6 +103,8 @@
foo
bar
baz
+line1
+line2
more context
and more
and still context
Oznacza to, że w pliku pierwotnego przed linią 78 (= 75 + 3 linie kontekstu) dodano dwie linie. Będą to linie 106 (= 103 + 3 linie kontekstu) do 107 po wszystkich zmianach.
Zauważ różnicę w liczbach from
(-75 vs +103), co oznacza, że przed tym konkretnym przystojnikiem były inne zmiany, które dodały 28 (103 - 75) linii kodu.
delecja wygląda następująco:
@@ -75,7 +75,6 @@
foo
bar
baz
-line1
more context
and more
and still context
Oznacza to, że usunięcie linii 78 (= 75 + 3 linie kontekstu) w pierwotnego pliku. Kontekst niezmieniony będzie występował w liniach od 75 do 80 po wszystkich zmianach.
Należy pamiętać, że numery from
w tym miejscu są takie same (-75 i +75), oznacza to, że albo nie było żadnych zmian przed tym przystojniakiem, albo ilość dodanych i usuniętych linii w poprzednich zmianach była taka sama.
Wreszcie zmiana wygląda tak:
@@ -70,7 +70,7 @@
foo
bar
baz
-red
+blue
more context
and more
still context
Oznacza to, że zmiana linii 73 (= 70 + 3 linie) w kontekście pliku przed wszystkimi zmianami, które zawiera czerwonego na niebieski. Zmieniona linia to także wiersz 73 (= 70 + 3 wiersze kontekstu) w pliku po wszystkich zmianach.
Credit goes to Markus Bertheau.
Krótka odpowiedź: 14 w Twoim przypadku jest kwota linii w przystojniaku przed zastosowaniem zmian, 12 - po. –
Wartości "no-of-lines' mogą nie być od razu oczywiste. Wartość "before" jest sumą 3 linii tekstu lead, liczby linii '-' i 3 linii kontekstowych, podczas gdy wartości 'after' są sumą 3 linii kontekstowych lead, liczba' + 'linie i 3 linie końcowe. W niektórych przypadkach istnieją dodatkowe pośrednie linie kontekstowe, które również są dodawane do tych liczb. Zatem całkowita liczba wyświetlanych linii nie jest zwykle żadną wartością "no-of-lines"! –
Jest czerwony śledzia w pierwszym przykładzie dodawania 2 linii: '@@ -75,6 +77,8 @@'. 75 i 77 mogą pomylić początkującego, aby pomyśleć, że było to związane z dodaniem 2 linii. W rzeczywistości prostszy przykład miałby po prostu '@@ -75,6 +75,8 @@". +77 byłby tylko wtedy, gdyby były inne edycje wyżej, które dodałyby sieć 2 linii. – wisbucky