Patches
Wenn man eine Änderung in einer Datei vornimmt und diese Änderung anderen Clients bereitstellen möchte, dann kann man die Datei einfach dahin Kopieren und ersetzten.
Wenn sich aber mehrere Dateien geändert haben, dann wird das etwas aufwendiger.
Hier kann man sich sogenannte Patch-Dateien erstellen, mit denen es dann möglich ist auch mehrere Änderungen von verschiedenen Dateien in mehreren Unterordnern in eine Änderungsdatei zuschreiben.
Man hat z.B. einen Ordner mit den alten Dateien und einen mit den Neuen. Nennen wir die Ordner einfach ver1 und ver2.
Um nun eine Patch-Datei zu erzeugen, gibt man folgendes (im übergeordneten Verzeichnis) ein:
diff -u -r -N ver1/ ver2/ > ver1-to-ver2.patch
Parameter | Beschreibung |
---|---|
-u | erstellt die Patch-Datei im Standard Patch Format |
-r | schaut rekursiv in alle Unterordner |
-N | fügt Einträge für neue Dateien in die Patch-Datei hinzu (diese werden dann autom. erzeugt) |
Man erhält nun die Datei ver1-to-ver2.patch
welche alle Änderungen und Erneuerungen beinhaltet.
Patches installieren
Um einen Patch zu installieren, wechselt man in das vorhandene Verzeichnis, welches die bisherigen Dateien beinhaltet.
Den Patch installiert man nun mit diesem Befehl
patch -p1 < <PFAD_ZU_PATCHDATEI>
Da man sich bereits in dem Verzeichnis mit den bestehenden Dateien befindet, übergibt man dem Befehl patch
den Parameter -p1
.
Dieser sorgt dafür dass der erste Pfad aus der Patch-Datei weggelassen wird. So findet das Tool patch
seine zu ändernden Dateien.
Patches deinstallieren
Rückgängigmachen kann man einen Patch wie folgt:
patch -R < <PFAD_ZU_PATCHDATEI>