aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc-changelog/git_commit.py
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2020-11-27 13:43:25 +0100
committerMartin Liska <mliska@suse.cz>2020-11-27 13:43:25 +0100
commitb8ae0812ee567fa380f0a8c7f30c7a660a5069c3 (patch)
treed7439fcb51f4c4801481cfac2bd35131e8eab772 /contrib/gcc-changelog/git_commit.py
parent0d7d69ca4a8c05d883e07ee42058c9c6b0c72370 (diff)
downloadgcc-b8ae0812ee567fa380f0a8c7f30c7a660a5069c3.zip
gcc-b8ae0812ee567fa380f0a8c7f30c7a660a5069c3.tar.gz
gcc-b8ae0812ee567fa380f0a8c7f30c7a660a5069c3.tar.bz2
changelog: allow flexible "cherry picked" format.
It handles the following: (cherry picked from commit c0c7270cc4efd896fe99f8ad5409dbef089a407f (testsuite changes only)) contrib/ChangeLog: * gcc-changelog/git_commit.py: Use regex for cherry pick prefix. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Likewise.
Diffstat (limited to 'contrib/gcc-changelog/git_commit.py')
-rwxr-xr-xcontrib/gcc-changelog/git_commit.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py
index 5f85666..d0ac23c 100755
--- a/contrib/gcc-changelog/git_commit.py
+++ b/contrib/gcc-changelog/git_commit.py
@@ -158,11 +158,11 @@ end_of_location_regex = re.compile(r'[\[<(:]')
item_empty_regex = re.compile(r'\t(\* \S+ )?\(\S+\):\s*$')
item_parenthesis_regex = re.compile(r'\t(\*|\(\S+\):)')
revert_regex = re.compile(r'This reverts commit (?P<hash>\w+).$')
+cherry_pick_regex = re.compile(r'cherry picked from commit (?P<hash>\w+)')
LINE_LIMIT = 100
TAB_WIDTH = 8
CO_AUTHORED_BY_PREFIX = 'co-authored-by: '
-CHERRY_PICK_PREFIX = '(cherry picked from commit '
REVIEW_PREFIXES = ('reviewed-by: ', 'reviewed-on: ', 'signed-off-by: ',
'acked-by: ', 'tested-by: ', 'reported-by: ',
@@ -422,14 +422,16 @@ class GitCommit:
continue
elif lowered_line.startswith(REVIEW_PREFIXES):
continue
- elif line.startswith(CHERRY_PICK_PREFIX):
- commit = line[len(CHERRY_PICK_PREFIX):].rstrip(')')
- if self.cherry_pick_commit:
- self.errors.append(Error('multiple cherry pick lines',
- line))
- else:
- self.cherry_pick_commit = commit
- continue
+ else:
+ m = cherry_pick_regex.search(line)
+ if m:
+ commit = m.group('hash')
+ if self.cherry_pick_commit:
+ msg = 'multiple cherry pick lines'
+ self.errors.append(Error(msg, line))
+ else:
+ self.cherry_pick_commit = commit
+ continue
# ChangeLog name will be deduced later
if not last_entry: