stosując plaster utworzony przez diff lokalnej pracy zdalnej i pochodzenia nie - dlaczego

głosy
0

Chcę stworzyć łatkę z różnic między moim lokalnym i zdalnym kodem pochodzenia.

Czynię to z:

git diff origin/myTestBranch > myPatch.patch 

Idę do osobnego katalogu, że sklonowane ten sam repo i właśnie wyciągnął myTestBranch. Czynię to z

cd testPatchRepo
git clone ....
git checkout myTestBranch

Kiedy próbuję zastosować poprawkę - to nie! Czemu? I stworzył łatkę dokładnie do tego celu, że jestem jej stosowania ...

Jako przykład tutaj jest częścią mojego patcha:

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.

A komunikat o błędzie zawiera:

myPatch.patch:36: trailing whitespace.

error: patch failed: source/tutorial/install.txt:16
error: source/tutorial/install.txt: patch does not apply
Utwórz 03/12/2019 o 00:05
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
2

O ile w ogóle można zastosować wyjście git diffdo innego drzewa pracy, w tym przypadku nie można. Powodem jest to, że git diffpokazuje, że modułem jest brudne, to znaczy, że ma niezatwierdzone zmiany. Ponieważ nie ma sposobu reprezentowania tych zmian w diff jak stoi, każda próba zastosowania ich zawiedzie.

Jeśli chcesz wykluczyć te zmiany modułem można użyć git diff --ignore-submodules, który ignoruje swoje submodules, czy modyfikowane lub nie. Jeśli chcesz włączyć je rekurencyjnie, można użyć git diff --submodule=diff. Że patch nie zaktualizuje submodule zobowiązuje się, iż będzie to zmienić submodule drzewo działa, więc nie jest to zalecane.

Oba te powinny produkować appliable łatki.

Odpowiedział 03/12/2019 o 02:15
źródło użytkownik

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