Fix gerrit-push-patch Job key not in trailers 13/64213/1
authorThanh Ha <zxiiro@gmail.com>
Fri, 5 Jun 2020 21:57:37 +0000 (17:57 -0400)
committerThanh Ha <zxiiro@gmail.com>
Fri, 5 Jun 2020 22:31:46 +0000 (18:31 -0400)
Key-value pairs in Git should be appended to the Git trailers section
(AKA footer). This patch fixes the commit message produced by
gerrit-push-patch which currently creates a commit message where the
Job key appears in the commit message body rather than the trailer.

For example:

    An example commit message

    Job: builder-job/123

    Change-Id: 1234567
Signed-off-by: Jenkins <jenkins@example.org>
This fixes it to:

    An example commit with proper trailer

    Job: builder-job/123
    Change-Id: 123457
Signed-off-by: Jenkins <jenkins@example.org>
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I66c9b0813b36065c20adcf0e886eaa29354ca603

releasenotes/notes/fix-gerrit-push-patch-trailers-de47a4687471d0c8.yaml [new file with mode: 0644]
shell/gerrit-push-patch.sh

diff --git a/releasenotes/notes/fix-gerrit-push-patch-trailers-de47a4687471d0c8.yaml b/releasenotes/notes/fix-gerrit-push-patch-trailers-de47a4687471d0c8.yaml
new file mode 100644 (file)
index 0000000..28bd9c9
--- /dev/null
@@ -0,0 +1,24 @@
+---
+fixes:
+  - |
+    Fix Job key in commit message body rather than trailers section
+    (AKA footer). The commit message produced by gerrit-push-patch which
+    currently creates a commit message where the Job key appears in the commit
+    message body rather than the trailer.
+
+    For example::
+
+        An example commit message
+
+        Job: builder-job/123
+
+        Change-Id: 1234567
+        Signed-off-by: Jenkins <jenkins@example.org>
+
+    This fixes it to::
+
+        An example commit with proper trailer
+
+        Job: builder-job/123
+        Change-Id: 123457
+        Signed-off-by: Jenkins <jenkins@example.org>
index d075cdd..3066339 100644 (file)
@@ -60,12 +60,14 @@ job=$JOB_NAME/$BUILD_NUMBER
 # If available, add change_id to commit message
 if change_id=$(echo "$query_result" | grep 'Change-Id:' | awk '{print $2}'); then
     echo "NOTE: Found gerrit review: $change_id"
-    message="Job: $job"$'\n\n'"Change-Id: $change_id"
+    message="Job: $job"$'\n'"Change-Id: $change_id"
 else
     echo "NOTE: No gerrit review found"
     message="Job: $job"
 fi
-git commit -sm "$GERRIT_COMMIT_MESSAGE" -m "$message"
+git commit -sm "$GERRIT_COMMIT_MESSAGE
+
+$message"
 
 git status
 git remote add gerrit "ssh://$GERRIT_USER@$GERRIT_HOST:29418/$PROJECT.git"