Home > Allgemein > Diffs und Patches mit SVN

Diffs und Patches mit SVN

Einfach mal so, weil ich grade mal wieder den Nutzen davon schätzen gelernt habe: Jeder kennt den Befehl svn status, mit dem man anzeigen lassen kann, welche Dateien neu/geändert sind bzw. welche Änderungen beim nächsten Commit an das Repository gesendet werden. Mindestens ebenso praktisch ist auch das Kommando svn diff. Damit kann man sich genau anzeigen lassen, welche Änderungen an welcher Datei in welcher Zeile vorgenommen wurden. Was viele leider nicht wissen, ist, dass man mit der Ausgabe diesen Befehls auch patchfiles erzeugen lassen kann, die man, mit ebenfalls einer einzigen Zeile, in anderen Kopieren des Repositorys (oder Exports) einspielen kann.

Erstellen eines Patchfiles:

Dieser Befehl erstellt ein Patchfile, in dem er die Ausgabe von svn diff in eine Datei umleitet:

svn diff > patchfile.patch

Einspielen eines Patchfiles:

Dieser Befehl führt die Änderungen, die durch ein svn diff beschrieben werden, auch an einer weiteren Kopie des Codes durch. Dazu benötigt man ein wie oben beschrieben erstelltes Patchfile:

patch -p0 < patchfile.patch

Ich finde es ist einfach ein praktisches Feature, wenn man mal Code-Passagen oder -Varianten oder sonstiges weitergeben möchte, ohne direkt einen SVN-Commit durchführen zu müssen (bzw. wenn man nicht committen darf).

KategorienAllgemein Tags: , ,
  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks