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
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 38b4b5a..c281b9a 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -458,6 +458,14 @@
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 @@
# 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