1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-18 00:52:07 +02:00

patman: Avoid blank lines between tags

In some cases 'patman status' leaves a blank line between the sign-off
and the tags it collects from patchwork. Fix this and add a test.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2021-08-01 16:02:39 -06:00
parent 1e9ced28f1
commit 5974718752
2 changed files with 28 additions and 2 deletions

View File

@@ -136,7 +136,7 @@ class TestFunctional(unittest.TestCase):
Commit-changes: 2 Commit-changes: 2
- Changes only for this commit - Changes only for this commit
Cover-changes: 4 ' Cover-changes: 4
- Some notes for the cover letter - Some notes for the cover letter
Cover-letter: Cover-letter:
@@ -1293,3 +1293,24 @@ Reviewed-by: %s
self.assertEqual(terminal.PrintLine( self.assertEqual(terminal.PrintLine(
'4 new responses available in patchwork (use -d to write them to a new branch)', '4 new responses available in patchwork (use -d to write them to a new branch)',
None), next(lines)) None), next(lines))
def testInsertTags(self):
"""Test inserting of review tags"""
msg = '''first line
second line.'''
tags = [
'Reviewed-by: Bin Meng <bmeng.cn@gmail.com>',
'Tested-by: Bin Meng <bmeng.cn@gmail.com>'
]
signoff = 'Signed-off-by: Simon Glass <sjg@chromium.com>'
tag_str = '\n'.join(tags)
new_msg = patchstream.insert_tags(msg, tags)
self.assertEqual(msg + '\n\n' + tag_str, new_msg)
new_msg = patchstream.insert_tags(msg + '\n', tags)
self.assertEqual(msg + '\n\n' + tag_str, new_msg)
msg += '\n\n' + signoff
new_msg = patchstream.insert_tags(msg, tags)
self.assertEqual(msg + '\n' + tag_str, new_msg)

View File

@@ -662,6 +662,7 @@ def insert_tags(msg, tags_to_emit):
out = [] out = []
done = False done = False
emit_tags = False emit_tags = False
emit_blank = False
for line in msg.splitlines(): for line in msg.splitlines():
if not done: if not done:
signoff_match = RE_SIGNOFF.match(line) signoff_match = RE_SIGNOFF.match(line)
@@ -672,9 +673,13 @@ def insert_tags(msg, tags_to_emit):
out += tags_to_emit out += tags_to_emit
emit_tags = False emit_tags = False
done = True done = True
emit_blank = not (signoff_match or tag_match)
else:
emit_blank = line
out.append(line) out.append(line)
if not done: if not done:
out.append('') if emit_blank:
out.append('')
out += tags_to_emit out += tags_to_emit
return '\n'.join(out) return '\n'.join(out)