diff --git a/git_footers.py b/git_footers.py index 1d4d4dd84..4641f7470 100755 --- a/git_footers.py +++ b/git_footers.py @@ -83,9 +83,13 @@ def add_footer_change_id(message, change_id): if line == '' or line.isspace(): break footer_lines.append(line) + else: + # The whole description was consisting of footers, + # which means those aren't footers. + footer_lines = [] # footers order is from end to start of the message. footers = map(parse_footer, footer_lines) - if not all(footers): + if not footers or not all(footers): lines.append('') lines.append(change_id_line) else: diff --git a/tests/git_footers_test.py b/tests/git_footers_test.py index 86e8b6d93..c959949f9 100755 --- a/tests/git_footers_test.py +++ b/tests/git_footers_test.py @@ -99,6 +99,11 @@ My commit message is my best friend. It is my life. I must master it. git_footers.add_footer_change_id('header\n\nBUG: yy\n\nPos: 1', 'Ixxx'), 'header\n\nBUG: yy\n\nChange-Id: Ixxx\nPos: 1') + # Special case: first line is never a footer, even if it looks line one. + self.assertEqual( + git_footers.add_footer_change_id('header: like footer', 'Ixxx'), + 'header: like footer\n\nChange-Id: Ixxx') + if __name__ == '__main__': unittest.main()