From patchwork Fri Jul 22 09:38:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Li=C5=A1ka?= X-Patchwork-Id: 121 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f503:0:0:0:0:0 with SMTP id q3csp150194wro; Fri, 22 Jul 2022 02:38:55 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tIze/ar8B7DtQtgQeVE2bueFeG9S/ZFYgWQH/uMnGVN2vIngWBdsfAFMP8NkMhmGheh6t9 X-Received: by 2002:a05:6402:212:b0:43b:5419:f89b with SMTP id t18-20020a056402021200b0043b5419f89bmr2628631edv.9.1658482735212; Fri, 22 Jul 2022 02:38:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658482735; cv=none; d=google.com; s=arc-20160816; b=JA2GtKQoOhCkhriPqUAaIajxjRmSWbspmVrZduF1kPrAC5Bb71HBxbuoGcN8QFv8nB +QYYItls0fT9rrRhqv0mHhIYAGmr8BigdRBPpm2lNOpQq226vQ/UaPdLYuQ/mF2fT5hX ocW+m7Q18/pbAx8pb1TxwJJhdKm4ojslHr/r5qAjMlnHcaQGz3bq0bT0PlKUjmaeOZdQ CHtePEPqX/Umlavq5ikbF1EV6qkSpLhU8+EG+pRMysgYIPzzSAvy2mOTEkhMAMdy76o1 yqjZoa0uEywbAl73Jp94HInyEj1jeyXIOyfj9ON6hVogPqO9tu/WGYUDaPAMbLBDzdbQ TJKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :content-language:to:subject:from:user-agent:mime-version:date :message-id:dkim-signature:dkim-signature:dmarc-filter:delivered-to; bh=snTa86f0Vn9hpeW3i6WaG9HWwm2U9vsDbcFf3WRhLQM=; b=C72MNHspRtcmdnL1bm1OUnHSqOvn9s8TAkWIzFNHpAECT1nn7ig3m3psawzdrcfD7g I15gv8y2Gn88quVPkzmjYbn6YP8QRJcWqKhdPNISHA7Qzvn7MiRVuhf/KQo9DFT46dVm w6fAmWzGebcOchHqkl59fSIuCJ4ql+E3TO0jdJ7VynnVR54MvxSKJAub3EqzrgAa1uv4 8OlwkbeCwbpm59tyZjh8FGWN8LVgG94Uy8INQv/2sMOQ5rTflYnuQklxiXIlnANDZbZx 8Vniqnl24dltC3a1o4rlUJmpYUVW9nAfNR5KdBzFb6hebNTbELGxiMYJv+ODWxg1vG8d b+OQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=AGlwXv7z; dkim=neutral (no key) header.i=@gcc.gnu.org header.s=susede2_ed25519 header.b=sqPvS3AP; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id h14-20020a056402280e00b004359a504775si6279312ede.238.2022.07.22.02.38.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 02:38:55 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=AGlwXv7z; dkim=neutral (no key) header.i=@gcc.gnu.org header.s=susede2_ed25519 header.b=sqPvS3AP; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9D074383541A for ; Fri, 22 Jul 2022 09:38:51 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by sourceware.org (Postfix) with ESMTPS id 2F3263835414 for ; Fri, 22 Jul 2022 09:38:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2F3263835414 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 06A03375FB; Fri, 22 Jul 2022 09:38:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1658482689; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=snTa86f0Vn9hpeW3i6WaG9HWwm2U9vsDbcFf3WRhLQM=; b=AGlwXv7z9+hQ4sc9kybfoOIz/km0/Qi5i2/PGqyncxYu1wyfj+SZCWnuzMWJ/qg4BkfWI7 doVYhWiwEmRtJV5RfD7cIx86ARxbk1H1qGOZznn/3qQz0yhtc1WevX6RqjiY0L4qzJjQvK YWUMjucvyrlsuvDOa3ChU0vuV8DHYv8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1658482689; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=snTa86f0Vn9hpeW3i6WaG9HWwm2U9vsDbcFf3WRhLQM=; b=sqPvS3APQuW0CJlct5VPGnXEpPLh7YA9an/ZtVoAtNotXeKuS3iSIPIheAGVkBZpTCWsvQ 9PaIcgeplsFqOXCw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BCD12134A9; Fri, 22 Jul 2022 09:38:08 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 7OKOKQBw2mIEagAAMHmgww (envelope-from ); Fri, 22 Jul 2022 09:38:08 +0000 Message-ID: <5caed246-ec6d-58cb-952e-a8d6fb2ae838@suse.cz> Date: Fri, 22 Jul 2022 11:38:08 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 From: =?utf-8?q?Martin_Li=C5=A1ka?= Subject: [PATCH] Allow space in git commit-mklog args To: gcc-patches@gcc.gnu.org Content-Language: en-US X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jonathan Wakely Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-LABELS: =?utf-8?b?IlxcSW1wb3J0YW50Ig==?= X-GMAIL-THRID: =?utf-8?q?1739045192890694791?= X-GMAIL-MSGID: =?utf-8?q?1739045192890694791?= Hi. Motivation example: $ git commit-mklog -a -b 'PR other/106370,PR other/12345' Preserving a space from git gcc-mklog hook to contrib/mklog.py seems pretty challenging. Thus I recommend preserving extra mklog args via env where it's encoded in JSON format. Thoughts? Thanks, Martin contrib/ChangeLog: * git-commit-mklog.py: Do not parse -b argument. Pass mklog_args as json environment variable. * mklog.py: Parse GCC_MKLOG_ARGS and append it to sys.argv. * prepare-commit-msg: Do not append GCC_MKLOG_ARGS to args. --- contrib/git-commit-mklog.py | 9 +++++---- contrib/mklog.py | 5 +++++ contrib/prepare-commit-msg | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/contrib/git-commit-mklog.py b/contrib/git-commit-mklog.py index eda3fc4a892..c7e90c8262f 100755 --- a/contrib/git-commit-mklog.py +++ b/contrib/git-commit-mklog.py @@ -24,6 +24,7 @@ # to mklog.py script. import argparse +import json import os import subprocess @@ -32,8 +33,7 @@ if __name__ == '__main__': myenv = os.environ.copy() parser = argparse.ArgumentParser(description='git-commit-mklog wrapped') - parser.add_argument('-b', '--pr-numbers', action='store', - type=lambda arg: arg.split(','), nargs='?', + parser.add_argument('-b', '--pr-numbers', help='Add the specified PRs (comma separated)') parser.add_argument('-p', '--fill-up-bug-titles', action='store_true', help='Download title of mentioned PRs') @@ -44,12 +44,13 @@ if __name__ == '__main__': myenv['GCC_FORCE_MKLOG'] = '1' mklog_args = [] if args.pr_numbers: - mklog_args.append(f'-b {",".join(args.pr_numbers)}') + mklog_args += ['-b', args.pr_numbers] if args.fill_up_bug_titles: mklog_args.append('-p') if mklog_args: - myenv['GCC_MKLOG_ARGS'] = ' '.join(mklog_args) + # wrap mklog arguments with JSON + myenv['GCC_MKLOG_ARGS'] = json.dumps(mklog_args) if args.co: for author in args.co.split(','): diff --git a/contrib/mklog.py b/contrib/mklog.py index cd5ef0bcc74..fe530ebf773 100755 --- a/contrib/mklog.py +++ b/contrib/mklog.py @@ -28,6 +28,7 @@ import argparse import datetime +import json import os import re import subprocess @@ -336,6 +337,10 @@ def skip_line_in_changelog(line): if __name__ == '__main__': + extra_args = os.getenv('GCC_MKLOG_ARGS') + if extra_args: + sys.argv += json.loads(extra_args) + parser = argparse.ArgumentParser(description=help_message) parser.add_argument('input', nargs='?', help='Patch file (or missing, read standard input)') diff --git a/contrib/prepare-commit-msg b/contrib/prepare-commit-msg index 5da878458cd..969847df6f4 100755 --- a/contrib/prepare-commit-msg +++ b/contrib/prepare-commit-msg @@ -78,4 +78,4 @@ else tee="cat" fi -git $cmd | $tee | git gcc-mklog $GCC_MKLOG_ARGS -c "$COMMIT_MSG_FILE" +git $cmd | $tee | git gcc-mklog -c "$COMMIT_MSG_FILE"