het toepassen van patch gecreëerd door diff van de lokale werk en verwijderden oorsprong niet - waarom

stemmen
0

Ik wil een patch uit de verschillen tussen mijn lokale code en de externe oorsprong te creëren.

Ik doe dit met:

git diff origin/myTestBranch > myPatch.patch 

Ik ga in een aparte dir dat gekloonde dezelfde repo en zojuist heeft getrokken myTestBranch. Ik doe dat met

cd testPatchRepo
git clone ....
git checkout myTestBranch

Wanneer ik probeer om de patch toe te passen - het mislukt! Waarom? Ik heb een patch precies voor het doel dat ik het ben het aanbrengen van ...

Als voorbeeld, hier is een deel van mijn 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.

En de foutmelding bestaat uit:

myPatch.patch:36: trailing whitespace.

error: patch failed: source/tutorial/install.txt:16
error: source/tutorial/install.txt: patch does not apply
De vraag is gesteld op 03/12/2019 om 00:05
bron van user
In andere talen...                            


1 antwoorden

stemmen
2

Terwijl in het algemeen kunt u de output van toepassing zijn git diffop een andere werkende boom, in dit geval kun je niet. De reden is dat git difflaat zien dat je submodule is vuil: dat wil zeggen, het heeft gecommitteerde veranderingen. Aangezien er is geen manier om deze veranderingen in de diff vertegenwoordigen als het nu is, elke poging om ze toe te passen zal mislukken.

Als u wilt deze submodule veranderingen uit te sluiten, kunt u gebruik maken git diff --ignore-submodules, die uw submodules zullen negeren, al dan niet gewijzigd. Als je ze wilt recursief kunt u gebruik maken git diff --submodule=diff. Dat patch zal de submodule niet updaten begaat zich, hoewel het de submodule werkt boom zal veranderen, dus het is niet aan te bevelen.

Deze beide moet opdoen pleisters te produceren.

antwoordde op 03/12/2019 om 02:15
bron van user

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