Anwenden eines Patches von diff der lokalen Arbeit und Remote-Ursprung erstellt versagt - warum

stimmen
0

Ich möchte einen Patch aus den Unterschieden zwischen meinem lokalen Code und dem Remote-Ursprung erstellen.

Ich tue dies mit:

git diff origin/myTestBranch > myPatch.patch 

Ich gehe in ein separates Verzeichnis, dass die gleiche Repo geklont und hat gerade gezogen myTestBranch. Ich tue dies mit

cd testPatchRepo
git clone ....
git checkout myTestBranch

Wenn ich versuche, den Patch zu installieren - es scheitert! Warum? Ich habe einen Patch genau zu dem Zweck, dass ich es bin Anwendung ...

Als Beispiel ist hier ein Teil meines Patch:

diff --git a/source/tutorial/install.txt b/source/tutorial/install.txt
index 4e26a8b..5971efa 100644
--- a/source/tutorial/install.txt
+++ b/source/tutorial/install.txt
@@ -15,8 +15,6 @@ Install {+bi-short+} on macOS
    :class: singlecol

 .. include:: /includes/fact-bi-enterprise.rst
-sdfjsdlf
-This is Me!!!sdlfksjldfkj

 To set up |bi|,
 follow the steps on this page. kjhaskjfhakjsf gsgsdgsdgsdg sdfsdfsdf lsdjflsjdfsj
diff --git a/source/tutorial/install-bi-connector-windows.txt b/source/tutorial/install-bi-connector-windows.txt
index 5ef2cfc..cd0e36d 100644
--- a/source/tutorial/install-bi.txt
+++ b/source/tutorial/install-bi.txt
@@ -16,7 +16,7 @@ Install {+bi-short+} on Windows

 .. include:: /includes/fact-bi-enterprise.rst

-Maddie 1
+Maddie 12
 To set up |bi|,
 follow the steps on this page.

Und die Fehlermeldung enthält:

myPatch.patch:36: trailing whitespace.

error: patch failed: source/tutorial/install.txt:16
error: source/tutorial/install.txt: patch does not apply
Veröffentlicht am 03/12/2019 um 00:05
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
2

Während im allgemeinen können Sie die Ausgabe der Anwendung git diffauf einem anderen Arbeits Baum, in diesem Fall können Sie nicht. Der Grund dafür ist , dass git diffzeigt , dass Ihr Submodul ist verschmutzt: Das heißt, es unbestätigte Änderungen hat. Da es keine Möglichkeit gibt , diese Änderungen in der diff darzustellen , wie es steht, anzuwenden jeder Versuch wird sie scheitern.

Wenn Sie diese Submodul Änderungen ausschließen möchten, können Sie verwenden git diff --ignore-submodules, die Ihre Submodule ignorieren wird, ob verändert oder nicht. Wenn Sie wollen , rekursiv gehören, können Sie verwenden git diff --submodule=diff. Das Patch wird nicht das Submodul aktualisieren verpflichtet sich, obwohl es das Submodul Arbeitsbaum zu ändern, so dass es nicht zu empfehlen ist.

Diese beiden sollten appliable Patches produzieren.

Beantwortet am 03/12/2019 um 02:15
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more