diff und patch
Siehe auch
Patch-Dateien listen die Unterschiede zwischen zwei Textdateien auf. Sie werden von diff
erzeugt und von patch
angewendet. Patches sind im allgemeinen sehr klein, da sie nur die Änderungen zu einer Original-Datei (z.B. Source Code) enthalten; der Umgang mit ihnen ist entsprechend effizient. diff
und patch
helfen nicht nur Programmierern, sondern jedem, der mit Text-Dateien umgeht und vergleichen muss.
Siehe auch info diff
.
diff
Beispiel für zwei leicht unterschiedliche Dateien:
char *debug_st = NULL;
char *sort = NULL;
char *debug_str = NULL;
char *sort = NULL;
char *threadsort = NULL;
Erzeugen einer Patch-Datei:
diff prog-v1.c prog-v2.c > prog.patch
Ergibt:
1c1
< char *debug_st = NULL;
---
> char *debug_str = NULL;
2a3
> char *threadsort = NULL;
Die Patch-Datei liest man so:
2a3
: Unterschied gefunden in linker Datei in Zeile 2, in rechter Datei in Zeile 3.a
= added,d
= deleted undc
= changed.<
: Zeile in linker Datei ist anders als in recher Datei>
: Zeile in rechter Datei ist anders als in linker Datei---
: trennt die beiden obigen Ausgaben
Nur die unterschiedlichen Dateien (ohne Details) zweier Verzeichnisse auflisten:
diff --brief --recursive dir1 dir2
Diff Side-by-Side:
diff --side-by-side --width 120 leftfile rightfile
patch
Die Anwendung eines Patches auf eine Datei erfolgt mit patch
:
patch prog-v1.c < prog.patch
Um den Patch wieder rückgängig zu machen, genügt:
patch --reverse prog-v1.c < prog.patch
Built on 2024-11-18