summaryrefslogtreecommitdiff
path: root/tools/patman/patchstream.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-04-20 10:50:14 -0600
committerSimon Glass <sjg@chromium.org>2014-05-09 14:50:45 -0600
commit102061bd8b0b174e1cf811dfd35641d8a9e4eba3 (patch)
tree71bbe7b7fc913eaca20f59e0c3e3376f2b6d7489 /tools/patman/patchstream.py
parent757f64a89ba5bb04661b3f43444ca57fa6db1132 (diff)
patman: Avoid duplicate sign-offs
Keep track of all Signed-off-by tags in a commit and silently suppress any duplicates. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/patman/patchstream.py')
-rw-r--r--tools/patman/patchstream.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
index c4017e0e6d..9f5682cd0f 100644
--- a/tools/patman/patchstream.py
+++ b/tools/patman/patchstream.py
@@ -21,7 +21,7 @@ re_remove = re.compile('^BUG=|^TEST=|^BRANCH=|^Change-Id:|^Review URL:'
re_allowed_after_test = re.compile('^Signed-off-by:')
# Signoffs
-re_signoff = re.compile('^Signed-off-by:')
+re_signoff = re.compile('^Signed-off-by: *(.*)')
# The start of the cover letter
re_cover = re.compile('^Cover-letter:')
@@ -159,6 +159,7 @@ class PatchStream:
commit_tag_match = re_commit_tag.match(line)
commit_match = re_commit.match(line) if self.is_log else None
cover_cc_match = re_cover_cc.match(line)
+ signoff_match = re_signoff.match(line)
tag_match = None
if self.state == STATE_PATCH_HEADER:
tag_match = re_tag.match(line)
@@ -223,7 +224,7 @@ class PatchStream:
if is_blank:
# Blank line ends this change list
self.in_change = 0
- elif line == '---' or re_signoff.match(line):
+ elif line == '---':
self.in_change = 0
out = self.ProcessLine(line)
else:
@@ -272,6 +273,11 @@ class PatchStream:
else:
self.tags.append(line);
+ # Suppress duplicate signoffs
+ elif signoff_match:
+ if self.commit.CheckDuplicateSignoff(signoff_match.group(1)):
+ out = [line]
+
# Well that means this is an ordinary line
else:
pos = 1