2017-11-13 3 views
0

Ich versuche, einen Patch aus einem Verzeichnis zu erstellen und diesen Patch auf das andere Verzeichnis anzuwenden, vorausgesetzt beide Verzeichnisse enthalten dieselben Dateien .Ist es möglich, einen git-Patch aus einem Verzeichnis zu erstellen und diesen Patch auf das andere Verzeichnis anzuwenden?,

Beispiel: Betrachten wir das Repo-1 /local/mnt/Arbeitsbereich/new_version/sample_dir/ enthält File1, File2 und File3.

Betrachten, repo-2 /local/mnt/workspace/old_version/ enthält den gleichen Satz von Dateien in Repo-1 erwähnt.

Jetzt versuche ich einen Patch-Set von Repo-1 zu erstellen und versuche es auf den Repo-2 anwenden, die Fehler aufgrund von Pfadkonflikten wirft.

Gibt es eine Möglichkeit, meine Anforderung zu erfüllen? Bitte helfen Sie!

Antwort

1

Sie können -p verwenden, um Verzeichnisse zu entfernen und --directory=<root> hierfür:

-p<n> 
     Remove <n> leading slashes from traditional diff paths. The default is 1. 

    --directory=<root> 
     Prepend <root> to all filenames. If a "-p" argument was also passed, it is applied before prepending the new root. 

     For example, a patch that talks about updating a/git-gui.sh to b/git-gui.sh can be applied to the file in the working tree modules/git-gui/git-gui.sh by running git apply --directory=modules/git-gui. 
+0

Vielen Dank! Es funktionierte. –

Verwandte Themen