mirror of
https://git.yoctoproject.org/poky
synced 2026-04-28 06:32:34 +02:00
lib/oe/patch: exclude "From <hash>" from commit message when PATCHTOOL is "git"
If you leave "From <hash>" 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 <hash> fatal: git cat-file <hash>: 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") (From OE-Core rev: 19a6b18ac23cb2d7bb89203f774b2bee7f0cb03c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
efa3c7dd55
commit
f6928407ed
@@ -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 <email@domain>
|
||||
if author_re.match(authorval):
|
||||
author = authorval
|
||||
elif from_commit_re.match(line):
|
||||
# We don't want the From <commit> line - if it's present it will break rebasing
|
||||
continue
|
||||
outlines.append(line)
|
||||
return outlines, author, date, subject
|
||||
|
||||
|
||||
Reference in New Issue
Block a user