Was bedeutet folgendes?
diff -rBNu src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java
--- src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 2009-03-10 11:34:01.000000000 -0700
+++ src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 2009-03-10 14:11:55.000000000 -0700
@@ -4,9 +4,12 @@
+ int CJK = 21;
+ int DIGIT = 22;
int DEFAULT = 0;
String[] tokenImage = {
"<EOF>",
+ "\"OR\"",
"<WORD>",
"<ACRONYM>",
"<SIGRAM>",
@@ -39,6 +42,8 @@
"\"\\\"\"",
"\":\"",
"\"/\"",
+ "\"(\"",
+ "\")\"",
"\".\"",
"\"@\"",
"\"\\\'\"",
patch
file-format
Oh mein Gott
quelle
quelle
Antworten:
Die von
-u
Ihnen verwendete Option gibt das einheitliche Format an. In diesem Format sind die ersten beiden Zeilen eine Kopfzeile:---
ist die Originaldatei,+++
ist die neue Datei und die Zeitstempel.@@
Block-HeaderDarauf folgen Chunks (Change Hunks), die mit der
@@ -R,r +R,r @@
Syntax beginnen.Dies sind zwei Bereiche, der mit dem
-
Bereich für den Block in der Originaldatei und der mit+
dem Bereich in der neuen Datei. DasR
bezeichnet die Zeilennummer, unter der die Diff-Operation gestartet wird.Die Zahlen nach dem Komma geben die Anzahl der betroffenen Zeilen in jeder Datei an .
+r
Zahl kleiner als-r
.+r
Zahl größer als-r
0
die+r
Zahl erhöht. (gleicher Zeilenumfang)Teile von Codezeilen
Innerhalb dieser Chunks werden Zeilen als Hinzufügungen oder Löschungen bezeichnet,
-
bedeutet Löschen,+
bedeutet Hinzufügen. Linien, die sich in diesem Block nicht geändert haben, haben weder+
noch eine-
Vorderseite.In Ihrem Beispiel bedeutet dies, dass zwei Blöcke oder Abschnitte zwischen den beiden Dateien geändert wurden und die darin enthaltenen Zeilen
+
die neuen sind. Es wurde nichts gelöscht.Sie können viel mehr Informationen über die Syntax finden, indem Sie eine Google-Suche nach Unified Diff durchführen.
quelle
+r
Zahl kleiner als-r
. Jedes Mal, wenn Sie eine Zeile hinzufügen, ist die+r
Zahl größer als-r
Lines that did not change in that chunk will have neither + or - front of it.
Ich denke, es wäre genauer / spezifischer zu sagen, dass es einen Platz davor haben wird. Dies ist wichtig, da eine Zeile in einer geänderten Datei, mit der begonnen wurde@@
, nicht mit der Diff-Syntax verwechselt werden darf.r
:-r
ist die Anzahl der Zeilen im Block der Originaldatei;+r
ist die Anzahl der Zeilen im Block in der neuen Datei. Zählen Sie grundsätzlich die Anzahl der Zeilen im Block vor und nach der Änderung.Der alte Dateiname
Der neue Dateiname
-4
: Chunk beginnt in Zeile 4 in der alten Datei (einschließlich Kontextzeilen);9
: Anzahl der Zeilen im Block in der alten Datei, einschließlich Kontextzeilen (also insgesamt Zeilen, vor denen ein-
oder nichts steht);+4
: Chunk beginnt in Zeile 4 in der neuen Datei;12
: Anzahl der Zeilen im Block in der neuen Datei, einschließlich Kontextzeilen (also insgesamt Zeilen, vor denen ein+
oder nichts steht).Hinweis : Ich habe das Diff so geändert, dass es eine geänderte Zeile enthält, also eine gelöschte Zeile, gefolgt von einer hinzugefügten Zeile.
Wie oben, aber beachten Sie, dass der Block in der neuen Datei 3 Zeilen weiter beginnt, da der vorherige Block einen Nettowert von 3 Zeilen hinzugefügt hat.
quelle
Die
+
Zeichen bedeuten, dass diese Zeilen seit der letzten Version von hinzugefügt wurdenNutchAnalysisConstants.java
. Die@@
Zeile zeigt an, dass der Diff zu einem anderen Abschnitt der Datei gesprungen ist, in diesem Fall Zeile 39 im Original oder Zeile 43 im neuen.quelle
Das hängt davon ab, was Sie fragen. Diff zeigt Ihnen die Unterschiede zwischen zwei Dateien. In Ihrem Fall unterscheiden Sie sich
NutchAnalysisConstants.java
von zwei verschiedenen Orten und generieren Informationen über diese Unterschiede.-r
diff bedeutet "rekursives Diff", obwohl es in diesem Fall nichts bewirkt, da Sie Dateien und keine Verzeichnisse unterscheiden.-B
bedeutet, Änderungen zu ignorieren, die nur Leerzeilen betreffen.-N
bedeutet, dass wenn in Verzeichnis1 ich eine Datei habe, diese aber nicht in Verzeichnis2 vorhanden ist, diff sie so behandeln sollte, als ob die Datei vorhanden, aber in Verzeichnis2 leer ist (wodurch Sie effektiv den vollständigen Inhalt der Datei in Verzeichnis1 erhalten).-u
bedeutet, das einheitliche Ausgabeformat zu verwenden, das nur von GNU diff und GNU patch unterstützt wird.Was die Ausgabe bedeutet, kann dieser Link für Sie nützlich sein.
quelle