Patch application créée par diff du travail local et à distance échoue origine - pourquoi

voix
0

Je veux créer un patch à partir des différences entre mon code local et l'origine lointaine.

Je le fais avec:

git diff origin/myTestBranch > myPatch.patch 

Je vais dans un répertoire distinct qui a cloné la même prise en pension et a juste tiré myTestBranch. Je le fais avec

cd testPatchRepo
git clone ....
git checkout myTestBranch

Lorsque je tente d'appliquer le patch - il échoue! Pourquoi? J'ai créé un patch exactement le but que je l'appliquer ...

À titre d'exemple, voici une partie de mon 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.

Et le message d'erreur comprend:

myPatch.patch:36: trailing whitespace.

error: patch failed: source/tutorial/install.txt:16
error: source/tutorial/install.txt: patch does not apply
Créé 03/12/2019 à 00:05
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

Alors qu'en général , vous pouvez appliquer la sortie git diffà un autre arbre de travail, dans ce cas , vous ne pouvez pas. La raison est que git diffmontre que votre sale est sous - module: qui est, il a des modifications non validées. Comme il n'y a aucun moyen de représenter ces changements dans la diff tel qu'il est, toute tentative de les appliquer échouera.

Si vous voulez exclure ces changements de sous - module, vous pouvez utiliser git diff --ignore-submodules, qui ne tiendra pas compte de vos sous - modules, modifiés ou non. Si vous voulez les inclure de manière récurrente, vous pouvez utiliser git diff --submodule=diff. Ce patch met pas à jour le sous - module s'engage, si elle va changer l'arbre de travail sous - module, il est donc pas recommandé.

Les deux ceux-ci devraient produire des patches appliable.

Créé 03/12/2019 à 02:15
source utilisateur

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