Verwenden Sie svn patch
.
Fall 1:mit /usr/bin/patch
:
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
patch -p0 < $TMPDIR/mypatchfile.patch
Wendet Ihre Änderungen gut an, wenn es keine hinzugefügten/gelöschten Dateien durch svn add
gibt oder svn delete
Fall 2:mit svn patch
:
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
svn patch $TMPDIR/mypatchfile.patch
Verfolgt auch hinzugefügte und gelöschte Dateien.
Beachten Sie, dass keiner svn move
verfolgt s und rename
s
Standardmäßig patch
ignoriert den Verzeichnisteil des Zieldateinamens; Es sucht nur nach "httpd.conf" in Ihrem aktuellen Arbeitsverzeichnis. Wenn Sie möchten, dass es den vollständigen Pfad verwendet, müssen Sie es ausdrücklich mit -p
dazu auffordern Möglichkeit:
patch -p 0 < httpd.patch
Die Nummer nach -p
gibt an, wie viele Ebenen aus dem Dateinamenpfad entfernt werden sollen; -p N
entfernt alles bis einschließlich Schrägstrich Nummer N. Der erste Schrägstrich ist Nummer 1, also -p 0
bedeutet "nichts entfernen".
Im Allgemeinen ist es jedoch besser, sich nicht darauf zu verlassen, den vollständigen Pfad in der Patch-Datei zu haben; Der Patch wird allgemeiner nützlich sein, wenn er sogar für Dateien in einem anderen Verzeichnislayout funktioniert. Sie können immer in das Verzeichnis wechseln, das die Datei enthält, bevor Sie Patch ausführen (und stattdessen einen vollständigen Pfad verwenden, um die Patch-Datei selbst zu finden, falls erforderlich).