[Openvpn-devel,S] Change in openvpn[master]: gerrit-send-mail: add missing Signed-off-by

Message ID f2d3d85807e5c786e198a1bb771285232c72c0b9-HTML@gerrit.openvpn.net
State Superseded
Headers show
Series [Openvpn-devel,S] Change in openvpn[master]: gerrit-send-mail: add missing Signed-off-by | expand

Commit Message

flichtenheld (Code Review) March 4, 2024, 1:01 p.m. UTC
Attention is currently required from: plaisthos.

Hello plaisthos,

I'd like you to do a code review.
Please visit

    http://gerrit.openvpn.net/c/openvpn/+/530?usp=email

to review the following change.


Change subject: gerrit-send-mail: add missing Signed-off-by
......................................................................

gerrit-send-mail: add missing Signed-off-by

Our development documentation says we add this
automatically when it is missing. So let's do that
here as well.

Change-Id: If9cb7d66f079fe1c87fcb5b4e59bc887533d77fa
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
---
M dev-tools/gerrit-send-mail.py
1 file changed, 13 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/30/530/1

Patch

diff --git a/dev-tools/gerrit-send-mail.py b/dev-tools/gerrit-send-mail.py
index 67a2cf1..10305e2 100755
--- a/dev-tools/gerrit-send-mail.py
+++ b/dev-tools/gerrit-send-mail.py
@@ -50,6 +50,12 @@ 
                 ack = f"{reviewer_name} <{reviewer_mail}>"
                 print(f"Acked-by: {ack}")
                 acked_by.append(ack)
+    # construct Signed-off-by in case it is missing
+    owner = json_data["owner"]
+    owner_name = owner.get("display_name", owner["name"])
+    owner_mail = owner.get("email", owner["name"])
+    sign_off = f"{owner_name} <{owner_mail}>"
+    print(f"Signed-off-by: {sign_off}")
     change_id = json_data["change_id"]
     # assumes that the created date in Gerrit is in UTC
     utc_stamp = (
@@ -67,6 +73,7 @@ 
         "target": json_data["branch"],
         "msg_id": msg_id,
         "acked_by": acked_by,
+        "sign_off": sign_off,
     }
 
 
@@ -81,10 +88,14 @@ 
 
 def apply_patch_mods(patch_text, details, args):
     comment_start = patch_text.index("\n---\n") + len("\n---\n")
+    signed_off_text = ""
+    signed_off_comment = ""
     try:
         signed_off_start = patch_text.rindex("\nSigned-off-by: ")
         signed_off_end = patch_text.index("\n", signed_off_start + 1) + 1
     except ValueError:  # Signed-off missing
+        signed_off_text = f"Signed-off-by: {details['sign_off']}\n"
+        signed_off_comment = "\nSigned-off-by line for the author was added as per our policy.\n"
         signed_off_end = patch_text.index("\n---\n") + 1
     assert comment_start > signed_off_end
     acked_by_text = ""
@@ -94,6 +105,7 @@ 
         acked_by_names += f"{ack}\n"
     patch_text_mod = (
         patch_text[:signed_off_end]
+        + signed_off_text
         + acked_by_text
         + patch_text[signed_off_end:comment_start]
         + f"""
@@ -102,6 +114,7 @@ 
 
 Gerrit URL: {args.url}/c/{details["project"]}/+/{args.changeid}
 This mail reflects revision {details["revision"]} of this Change.
+{signed_off_comment}
 Acked-by according to Gerrit (reflected above):
 {acked_by_names}
         """