From: Paul Eggleton Date: Fri, 23 Sep 2016 09:22:10 +0000 (+1200) Subject: lib/oe/patch: exclude "From " from commit message when PATCHTOOL is "git" X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~24094 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=19a6b18ac23cb2d7bb89203f774b2bee7f0cb03c;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git lib/oe/patch: exclude "From " from commit message when PATCHTOOL is "git" If you leave "From " lines in the commit message it can actually break git rebase because it tries to interpret the line in the context of the current repository, and if the hash is invalid then a rebase will blow up with: fatal: git cat-file: could not get object info or in newer git versions: error: unable to find fatal: git cat-file : bad file (I hit this when I tried to do a devtool upgrade on openssl to 1.0.2i the first time I did "git rebase --skip") Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index 05e0faa5b75..c04f098712c 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py @@ -317,6 +317,7 @@ class GitApplyTree(PatchTree): def interpretPatchHeader(headerlines): import re author_re = re.compile('[\S ]+ <\S+@\S+\.\S+>') + from_commit_re = re.compile('^From [a-z0-9]{40} .*') outlines = [] author = None date = None @@ -346,6 +347,9 @@ class GitApplyTree(PatchTree): # git is fussy about author formatting i.e. it must be Name if author_re.match(authorval): author = authorval + elif from_commit_re.match(line): + # We don't want the From line - if it's present it will break rebasing + continue outlines.append(line) return outlines, author, date, subject