From 07f0446e9a36e39814a92a1681ab59de79275651 Mon Sep 17 00:00:00 2001 From: rmistry Date: Thu, 1 Sep 2016 13:36:31 -0700 Subject: Fix PostUploadHook for Gerrit issues A gerrit change must contain the "Change-Id" at the end. This CL strips out the changeId from the description and adds it back in at the end. BUG=skia:5676 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2299303002 NOTRY=true Review-Url: https://codereview.chromium.org/2299303002 --- PRESUBMIT.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'PRESUBMIT.py') diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 38b4b5a872..c281b9a70d 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -458,6 +458,14 @@ def PostUploadHook(cl, change, output_api): issue = cl.issue if issue: original_description = cl.GetDescription() + changeIdLine = None + if cl.IsGerrit(): + # Remove Change-Id from description and add it back at the end. + regex = re.compile(r'^(Change-Id: (\w+))(\n*)\Z', re.M | re.I) + changeIdLine = re.search(regex, original_description).group(0) + original_description = re.sub(regex, '', original_description) + original_description = re.sub('\n+\Z', '\n', original_description) + new_description = original_description # Add GOLD_TRYBOT_URL if it does not exist yet. @@ -535,6 +543,9 @@ def PostUploadHook(cl, change, output_api): # If the description has changed update it. if new_description != original_description: + if changeIdLine: + # The Change-Id line must have two newlines before it. + new_description += '\n\n' + changeIdLine cl.UpdateDescription(new_description) return results -- cgit v1.2.3