Patch mit diff erstellen und einspielen

Aus Laub-Home Wiki

Ändert man in einer bestehenden Datei Codezeilen und man möchte diese reproduzierbar auch wieder einspielen, kann man mittels diff und patch die machen.

Zuerst sollte man natürlich die Original Datei sichern, dies kann mit einem copy Befehl oder mit dem kleinen Tool FBAK geschehen:

cp datei.sh datei.sh.org

# oder mit fbak Skript:
fbak datei.sh KUERZEL

Nun einfach den Dateiinhalt wie gewünscht anpassen.

Patch erstellen

Danach erstellen wir mittels diff eine Patch Datei

Für einen ganzen Verzeichnisbaum:

diff -upr original_ordner neuer_ordner > /Pfad/zum/patchfile.patch

Für eine einzelne Datei:

diff -up datei.sh.org datei.sh > /Pfad/zum/patchfile.patch

Patch einspielen

Für einen ganzen Verzeichnisbaum:

Hierfür müssen wir als erstes in den zu patchenden Ordner springen.

cd /Path/zum/Ordner
patch patch -p 0 < /Pfad/zum/patchfile.patch

Für eine einzelne Datei

patch /Pfad/zur/datei.sh /Pfad/zum/patchfile.patch