From: Frank Lichtenheld Date: Fri, 8 Mar 2024 12:05:57 +0000 (+0100) Subject: gerrit-send-mail: add missing Signed-off-by X-Git-Tag: v2.7_alpha1~290 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bea088cf8ae3382aeed420da2a39f2a9f52df4cd;p=thirdparty%2Fopenvpn.git 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 Acked-by: Gert Doering Message-Id: <20240308120557.9065-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg28362.html Signed-off-by: Gert Doering --- diff --git a/dev-tools/gerrit-send-mail.py b/dev-tools/gerrit-send-mail.py index 67a2cf1b1..10305e263 100755 --- a/dev-tools/gerrit-send-mail.py +++ b/dev-tools/gerrit-send-mail.py @@ -50,6 +50,12 @@ def get_details(args): 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 @@ def get_details(args): "target": json_data["branch"], "msg_id": msg_id, "acked_by": acked_by, + "sign_off": sign_off, } @@ -81,10 +88,14 @@ def get_patch(details, args): 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 @@ def apply_patch_mods(patch_text, details, args): 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 @@ developer. I request to merge it to {details["target"]}. 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} """