From: Paul Eggleton Date: Fri, 28 Aug 2015 09:13:20 +0000 (+0100) Subject: lib/oe/patch: handle patches that delete files with older git X-Git-Tag: 2015-10~715 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=367ffba394bb815d776f48a367d5d7e5ea9b3bba;p=openembedded-core.git lib/oe/patch: handle patches that delete files with older git 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 Signed-off-by: Ross Burton --- diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index c4f042d54b..108bf1de56 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py @@ -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]