diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2015-09-22 17:21:22 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-22 18:12:53 +0100 |
commit | 21fdbd76f458b70a6646dd6d0749e3a465ebd320 (patch) | |
tree | e94e6857500fc4a873b2b93f890a23d5650027ad /meta/lib | |
parent | 47c1ff11a9b8b1e9f40ffb2b3d387252200cf0ec (diff) | |
download | openembedded-core-21fdbd76f458b70a6646dd6d0749e3a465ebd320.tar.gz openembedded-core-21fdbd76f458b70a6646dd6d0749e3a465ebd320.tar.bz2 openembedded-core-21fdbd76f458b70a6646dd6d0749e3a465ebd320.zip |
lib/oe/patch: fix for git am not cleaning up after itself
Unfortunately it appears that under certain circumstances, a failed
git am followed by git am --abort won't clean up any changes the patch
might have made - this was seen when running "devtool extract" on the
unzip recipe; unzip-6.0_overflow3.diff has a malformed date as far as
git am is concerned but it triggers this condition. Add a
git reset --hard HEAD followed by git clean -f in order to recover from
this scenario.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/patch.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index 108bf1de56..7441214006 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py @@ -407,6 +407,13 @@ class GitApplyTree(PatchTree): runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) except CmdError: pass + # git am won't always clean up after itself, sadly, so... + shellcmd = ["git", "--work-tree=%s" % reporoot, "reset", "--hard", "HEAD"] + runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) + # Also need to take care of any stray untracked files + shellcmd = ["git", "--work-tree=%s" % reporoot, "clean", "-f"] + runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) + # Fall back to git apply shellcmd = ["git", "--git-dir=%s" % reporoot, "apply", "-p%s" % patch['strippath']] try: |