]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/patch: handle patches that delete files with older git
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Fri, 28 Aug 2015 09:13:20 +0000 (10:13 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 30 Aug 2015 11:34:22 +0000 (12:34 +0100)
When running "git add" on a directory with older git versions, deleted
files aren't added to what is to be committed unless you explicitly
specify the -A option. The result of this is that when applying a patch
from a recipe which doesn't apply with "git am" (and we fall back to
applying the patch through other means then "git add" following by
a "git commit") these deletes weren't committed with the patch, leaving
them sitting deleted but not committed at the end.

This should fix test_devtool_modify_native (which unwittingly exercises
this scenario by attempting to run "devtool modify" on apt-native) on
machines with older git versions.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/lib/oe/patch.py

index c4f042d54b1458cc43ae42ac3552c5b4a5c86c29..108bf1de564b9629f323e6650ecee5b413d45752 100644 (file)
@@ -415,7 +415,7 @@ class GitApplyTree(PatchTree):
                     # Fall back to patch
                     output = PatchTree._applypatch(self, patch, force, reverse, run)
                 # Add all files
-                shellcmd = ["git", "add", "-f", "."]
+                shellcmd = ["git", "add", "-f", "-A", "."]
                 output += runcmd(["sh", "-c", " ".join(shellcmd)], self.dir)
                 # Exclude the patches directory
                 shellcmd = ["git", "reset", "HEAD", self.patchdir]