From 9fc50db2cc0d8479a955b19c695d1873c0f0cb01 Mon Sep 17 00:00:00 2001 From: "tandrii@chromium.org" Date: Thu, 17 Mar 2016 12:38:55 +0000 Subject: [PATCH] Gerrit git cl: fix change-id appending. Special case when the change description has no footers, but looks like a footer. R=machenbach@chromium.org,andybons@chromium.org BUG=579176 Review URL: https://codereview.chromium.org/1812803002 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299343 0039d316-1c4b-4281-b951-d872f2087c98 --- git_footers.py | 6 +++++- tests/git_footers_test.py | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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()