From patchwork Wed Jul 12 04:01:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lehua Ding X-Patchwork-Id: 118804 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp895766vqm; Tue, 11 Jul 2023 21:02:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlFtBLbLDGm07KaM3d/VOqA7GY4ddAv/erMeU7p9sRYToEj3BCNubr/uPnFWeJAeuOZrdEPr X-Received: by 2002:aa7:d489:0:b0:51d:a124:62db with SMTP id b9-20020aa7d489000000b0051da12462dbmr958371edr.18.1689134535191; Tue, 11 Jul 2023 21:02:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689134535; cv=none; d=google.com; s=arc-20160816; b=zPF1shm9Kk5SKANpeHbtYCS9N6DbZfFr3zPP9zedZHrNmooyS9Q3eUgTTvcXevJXlD N1rbBF3XxC6x40rdbG845oaiZc/xJ9ROeALx2A+xRCnbdRusk1pX4XdztPqjn/lpu/Di JiR6JIrk0ZPMH22Na+7SVtXmj5dnqeEpEbf1MxZvrmBr704lvy6i7ZLIeSNnwlXPn19s w1lxzSmg4v1xzq0c3hLmWDErrEqZijr2/pCy84m/hGNl4aEz3Tuvoe0QhQbkppQPpgW/ U6499SdgS7PgBp6YZ7TaR+4SkGuIQ9xm+n1CfYWIrDlxtik5Hv5c+sP3KFM8pecv4J7c RTqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dmarc-filter:delivered-to; bh=OHdkY7zUgXvEzKW1XVq4U/KFwNqkvl9RVPVb1aCYkuw=; fh=KVvWLJYwJS9Y5zBvNgg9f6GQwI9NsTKmJC2Iodd/bqM=; b=EKEGUbrV+D8nSfsUW35kFFa02K756LkYNClpqaiym4fh5Q3xRku5joAeGoZy5l9S4l f5UOAad8mUf5V5w4HYxnHMhzj8JX7a34S3LkGyPySokE9veoluoavGFW2MQC8az8+NnZ lm0ygqm8+bxXmf+SGv8y4Arklz6jp7MtmtkYrHG4ofQU44fDwYi5IA+YT7Or7Qw3GzYT FcfqTK9p3wlIqs77/MYwuFwG8qGFZ8qOOKfWc3Ots3PbvA6tpDhY92fhB/kP6z48a7jQ ZfXur+11kGU4xlriLCv6fmsA6lF9DXArpF492Z7Epk7Akb8mL8/7wMVKGmoJH6/EIUTy doTg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id w23-20020aa7da57000000b0051d9ca7745esi3762573eds.537.2023.07.11.21.02.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jul 2023 21:02:15 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 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 52ABD385842B for ; Wed, 12 Jul 2023 04:02:08 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbguseast1.qq.com (smtpbguseast1.qq.com [54.204.34.129]) by sourceware.org (Postfix) with ESMTPS id 7F87C3858C62 for ; Wed, 12 Jul 2023 04:01:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F87C3858C62 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp74t1689134494tgvcqdac Received: from server1.localdomain ( [58.60.1.22]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 12 Jul 2023 12:01:33 +0800 (CST) X-QQ-SSF: 01400000000000B0F000000A0000000 X-QQ-FEAT: CRJwvrMA7Ii2GhQ2sHDdByJvUpOdZEE+Nk9YIr4UPwDQReGFtdnCQK+u+2aNc hyxIwyzJvM5vpYK4rFtXqd4Y0W+3vUJynRwWBMNzAe8MM4itBy033CIHncFGgx4mb4PID4x gXYmgH7RSZEMIbnipI9eu4aAuISsRYy0V+yQvStSkrVuHgfGCowUPt0LYb3bfLPyj+lCwld 1R0sK28V1vK8L/iv71LfgRI+l80RaCNeL0ivGIq9jqiYuxhitGvHu3La+DS6AF4zV/8mLnu Lito8AZqZh7i/9KrjthwDNCOGbHl5PDgPBprKjf7PSU8daA1xN1GkZYltWy44OEU8c8c2VM MzRyrdDrz/5+qT0AAEt0lDL0oCE+VKwmeJ38/3qPDsuvkW3ChgkAa4As2IqExMBcOmIktKA X-QQ-GoodBg: 2 X-BIZMAIL-ID: 11739323170074619884 From: Lehua Ding To: gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai, jeffreyalaw@gmail.com, mliska@suse.cz Subject: [PATCH] mklog: Add --append option to auto add generate ChangeLog to patch file Date: Wed, 12 Jul 2023 12:01:33 +0800 Message-Id: <20230712040133.88791-1-lehua.ding@rivai.ai> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz6a-0 X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771185934771557031 X-GMAIL-MSGID: 1771185934771557031 Hi, This tiny patch add --append option to mklog.py that support add generated ChangeLog to the corresponding patch file. With this option there is no need to manually copy the generated ChangeLog to the patch file. e.g.: Run `mklog.py -a /path/to/this/patch` will add the generated ChangeLog ``` contrib/ChangeLog: * mklog.py: ``` to the right place of the /path/to/this/patch file. Best, Lehua contrib/ChangeLog: * mklog.py: Add --append option. --- contrib/mklog.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/contrib/mklog.py b/contrib/mklog.py index 777212c98d7..26230b9b4f2 100755 --- a/contrib/mklog.py +++ b/contrib/mklog.py @@ -358,6 +358,8 @@ if __name__ == '__main__': 'file') parser.add_argument('--update-copyright', action='store_true', help='Update copyright in ChangeLog files') + parser.add_argument('-a', '--append', action='store_true', + help='Append the generate ChangeLog to the patch file') args = parser.parse_args() if args.input == '-': args.input = None @@ -370,7 +372,30 @@ if __name__ == '__main__': else: output = generate_changelog(data, args.no_functions, args.fill_up_bug_titles, args.pr_numbers) - if args.changelog: + if args.append: + if (not args.input): + raise Exception("`-a or --append` option not support standard input") + lines = [] + with open(args.input, 'r', newline='\n') as f: + # 1 -> not find the possible start of diff log + # 2 -> find the possible start of diff log + # 3 -> finish add ChangeLog to the patch file + maybe_diff_log = 1 + for line in f: + if maybe_diff_log == 1 and line == "---\n": + maybe_diff_log = 2 + elif maybe_diff_log == 2 and \ + re.match("\s[^\s]+\s+\|\s\d+\s[+\-]+\n", line): + lines += [output, "---\n", line] + maybe_diff_log = 3 + else: + # the possible start is not the true start. + if maybe_diff_log == 2: + maybe_diff_log = 1 + lines.append(line) + with open(args.input, "w") as f: + f.writelines(lines) + elif args.changelog: lines = open(args.changelog).read().split('\n') start = list(takewhile(skip_line_in_changelog, lines)) end = lines[len(start):]