Message ID | 3b036087d80b8c0e07a46a1dbaaf4ad0d018f8d5.1674217480.git.linux@leemhuis.info |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp172830wrn; Fri, 20 Jan 2023 04:36:43 -0800 (PST) X-Google-Smtp-Source: AMrXdXtBXnyxmt6KfqXHVvIX9wKIIDHmoz8K3a7ZZPUfv5ZsqFtJhpDv4bDhTC4qgXlPIhWp8Yks X-Received: by 2002:a17:907:a4c6:b0:86f:1283:7b1d with SMTP id vq6-20020a170907a4c600b0086f12837b1dmr2567540ejc.71.1674218203504; Fri, 20 Jan 2023 04:36:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674218203; cv=none; d=google.com; s=arc-20160816; b=NPKFDOm1yKUrgrknqXqPfXymtDA9U8fyth2HSqBWFH6voF5zrHroCYt8TuPZyyJldj UVTVmu03DDtdFyPgE2sHNi96uRaIueuDtDFu2Cphnq1C9vKj8e1y7BLFWJvnF1lWrzRr vNdByykcb/75uHagFD44IVRRGj95iwSWsiOjq/G07wRRsJHGMJ2edZXqaUQETWzzkA0A d0RF1VNKteLaSgFSrNPd2k5rOT0gaLcAevbB2f8oiTbeC9U9CBcDv1bBMEhUpLXy8toB WO3g9xQDvGPuw6LdfSyRGO8kqkdZAlF6+VNgE+FMu8/aKKaKLPN17mP2hCBAd3aa+QUS N7pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=GHoWTMc2Io4mV0+tX3de1ddZQgVg8hoqdPQixXptV9w=; b=Egdpab9GnSkJsLrHmMEWAmQJU96e/S7pzguUjwl+y8kD6+VVdZu1UhmRXm2F0RQ/4T H+Xrenf7ra3/25y6DNM+/d7I4zFgGWjsHbObINyVsyfQPe2AAGs+J3GxjUjFZ1hb4dIL R5Uy0djkS50Uz8YHMPSMyoEN51CmsSiGgj7xcaBRl1rnWEQ5vuzRVawNZ4laNPaWq8iv lyHKKpx/xs0OYX7z3g8+Vn7rTO2Q8uxC2NSV/QqDQSGt/cxkliKhi/AyQLM2BZT/crdz Hkph9LpAOhi9CZpAcGqCSNbWehBEGQ0NopJMHqZk9c6+I/NWY+b2+MYxk+F8iPcsO+/g iNKA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xd8-20020a170907078800b007c11805a849si43364929ejb.341.2023.01.20.04.36.19; Fri, 20 Jan 2023 04:36:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230137AbjATMfo (ORCPT <rfc822;literming00@gmail.com> + 99 others); Fri, 20 Jan 2023 07:35:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58568 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230160AbjATMfb (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 20 Jan 2023 07:35:31 -0500 Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de [80.237.130.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 144B4BD17F for <linux-kernel@vger.kernel.org>; Fri, 20 Jan 2023 04:35:24 -0800 (PST) Received: from ip4d14bd73.dynamic.kabel-deutschland.de ([77.20.189.115] helo=truhe.fritz.box); authenticated by wp530.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) id 1pIqc5-0007pV-WF; Fri, 20 Jan 2023 13:35:22 +0100 From: Thorsten Leemhuis <linux@leemhuis.info> To: Joe Perches <joe@perches.com>, Andy Whitcroft <apw@canonical.com>, Dwaipayan Ray <dwaipayanray1@gmail.com>, Lukas Bulwahn <lukas.bulwahn@gmail.com> Cc: =?utf-8?q?Kai_Wasserb=C3=A4ch?= <kai@dev.carbon-project.org>, Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/3] checkpatch: warn when unknown tags are used for links Date: Fri, 20 Jan 2023 13:35:18 +0100 Message-Id: <3b036087d80b8c0e07a46a1dbaaf4ad0d018f8d5.1674217480.git.linux@leemhuis.info> X-Mailer: git-send-email 2.39.0 In-Reply-To: <cover.1674217480.git.linux@leemhuis.info> References: <cover.1674217480.git.linux@leemhuis.info> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-bounce-key: webpack.hosteurope.de;linux@leemhuis.info;1674218125;93060bd7; X-HE-SMSGID: 1pIqc5-0007pV-WF X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755545026953932543?= X-GMAIL-MSGID: =?utf-8?q?1755545026953932543?= |
Series |
checkpatch.pl: warn about discouraged tags and missing Link: tags
|
|
Commit Message
Thorsten Leemhuis
Jan. 20, 2023, 12:35 p.m. UTC
From: Kai Wasserbäch <kai@dev.carbon-project.org> Issue a warning when encountering URLs behind unknown tags, as Linus recently stated ```please stop making up random tags that make no sense. Just use "Link:"```[1]. That statement was triggered by an use of 'BugLink', but that's not the only tag people invented: $ git log -100000 --no-merges --format=email -P \ --grep='^\w+:[ \t]*http' | grep -Poh '^\w+:[ \t]*http' | \ sort | uniq -c | sort -rn | head -n 20 103958 Link: http 418 BugLink: http 372 Patchwork: http 280 Closes: http 224 Bug: http 123 References: http 84 Bugzilla: http 61 URL: http 42 v1: http 38 Datasheet: http 20 v2: http 9 Ref: http 9 Fixes: http 9 Buglink: http 8 v3: http 8 Reference: http 7 See: http 6 1: http 5 link: http 3 Link:http Some of these non-standard tags make it harder for external tools that rely on use of proper tags. One of those tools is the regression tracking bot 'regzbot', which looks out for "Link:" tags pointing to reports of tracked regressions. The initial idea was to use a disallow list to raise an error when encountering known unwanted tags like BugLink:; during review it was requested to use a list of allowed tags instead[2]. Link: https://lore.kernel.org/all/CAHk-=wgs38ZrfPvy=nOwVkVzjpM3VFU1zobP37Fwd_h9iAD5JQ@mail.gmail.com/ [1] Link: https://lore.kernel.org/all/15f7df96d49082fb7799dda6e187b33c84f38831.camel@perches.com/ [2] Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org> Co-developed-by: Thorsten Leemhuis <linux@leemhuis.info> Signed-off-by: Thorsten Leemhuis <linux@leemhuis.info> --- scripts/checkpatch.pl | 12 ++++++++++++ 1 file changed, 12 insertions(+)
Comments
Hello, On 20/01/2023 13:35, Thorsten Leemhuis wrote: > From: Kai Wasserbäch <kai@dev.carbon-project.org> > > Issue a warning when encountering URLs behind unknown tags, as Linus > recently stated ```please stop making up random tags that make no sense. > Just use "Link:"```[1]. That statement was triggered by an use of > 'BugLink', but that's not the only tag people invented: > > $ git log -100000 --no-merges --format=email -P \ > --grep='^\w+:[ \t]*http' | grep -Poh '^\w+:[ \t]*http' | \ > sort | uniq -c | sort -rn | head -n 20 > 103958 Link: http > 418 BugLink: http > 372 Patchwork: http > 280 Closes: http > 224 Bug: http > 123 References: http > 84 Bugzilla: http > 61 URL: http > 42 v1: http > 38 Datasheet: http > 20 v2: http > 9 Ref: http > 9 Fixes: http > 9 Buglink: http > 8 v3: http > 8 Reference: http > 7 See: http > 6 1: http > 5 link: http > 3 Link:http > > Some of these non-standard tags make it harder for external tools that > rely on use of proper tags. One of those tools is the regression > tracking bot 'regzbot', which looks out for "Link:" tags pointing to > reports of tracked regressions. I'm sorry for the late feedback but would it be possible to add an exception for the "Closes" tag followed by a URL? This tag is useful -- at least for us when maintaining the MPTCP subtree -- to have tickets being automatically closed when a patch is accepted. I don't think this "Closes" tag is a "random one that makes no sense" but I agree it is not an "official" one described in the documentation. On our side, we are using GitHub to manage issues but this also works with GitLab and probably others. Other keywords are also accepted [1][2] but I guess it is best to stick with one, especially when it is already used according to the list provided above. Would it then be OK to allow this "Closes" tag in checkpatch.pl and mention it in the documentation (Submitting patches)? Or should we switch to the "Link" tag instead (and re-do the tracking manually)? Cheers, Matt [1] https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests [2] https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#default-closing-pattern
On 27.02.23 14:25, Matthieu Baerts wrote: > On 20/01/2023 13:35, Thorsten Leemhuis wrote: >> From: Kai Wasserbäch <kai@dev.carbon-project.org> >> >> Issue a warning when encountering URLs behind unknown tags, as Linus >> recently stated ```please stop making up random tags that make no sense. >> Just use "Link:"```[1]. That statement was triggered by an use of >> 'BugLink', but that's not the only tag people invented: >> >> $ git log -100000 --no-merges --format=email -P \ >> --grep='^\w+:[ \t]*http' | grep -Poh '^\w+:[ \t]*http' | \ >> sort | uniq -c | sort -rn | head -n 20 >> 103958 Link: http >> 418 BugLink: http >> 372 Patchwork: http >> 280 Closes: http >> 224 Bug: http >> 123 References: http >> [...] >> >> Some of these non-standard tags make it harder for external tools that >> rely on use of proper tags. One of those tools is the regression >> tracking bot 'regzbot', which looks out for "Link:" tags pointing to >> reports of tracked regressions. > > I'm sorry for the late feedback but would it be possible to add an > exception for the "Closes" tag followed by a URL? As I just wrote in a reply to Jakub: Not sure. Every special case makes things harder for humans and software that looks at a commits downstream. > This tag is useful -- at least for us when maintaining the MPTCP subtree > -- to have tickets being automatically closed when a patch is accepted. > I don't think this "Closes" tag is a "random one that makes no sense" > but I agree it is not an "official" one described in the documentation. > > On our side, we are using GitHub to manage issues but this also works > with GitLab and probably others. Other keywords are also accepted [1][2] > but I guess it is best to stick with one, especially when it is already > used according to the list provided above. > > Would it then be OK to allow this "Closes" tag in checkpatch.pl and > mention it in the documentation (Submitting patches)? > > Or should we switch to the "Link" tag instead (and re-do the tracking > manually)? > > [1] > https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests > [2] > https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#default-closing-pattern For the record, let me repeat and further elaborate what I already said on social media before you wrote your mail: * I'm not mostly neutral here, but it was Linus who wrote "please stop making up random tags that make no sense." in [1]. This was triggered by a use of "BugLink:"; maybe there are tools out there that rely on that tag, hence their users might ask for a exception as well. That's why I think it's Linus call to grant any exceptions. [1] https://lore.kernel.org/all/CAHk-=wgs38ZrfPvy=nOwVkVzjpM3VFU1zobP37Fwd_h9iAD5JQ@mail.gmail.com/ * if such an exception is made, it IMHO must be documented in our documentation, so any software and humans that rely on these tags are aware of it. Ciao, Thorsten
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 78cc595b98ce..d739ce0909b1 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3250,6 +3250,18 @@ sub process { $commit_log_possible_stack_dump = 0; } +# Check for odd tags before a URI/URL + if ($in_commit_log && + $line =~ /^\s*(\w+):\s*http/ && $1 ne 'Link') { + if ($1 =~ /^v(?:ersion)?\d+/i) { + WARN("COMMIT_LOG_VERSIONING", + "Patch version information should be after the --- line\n" . $herecurr); + } else { + WARN("COMMIT_LOG_USE_LINK", + "Unknown link reference '$1:', use 'Link:' instead\n" . $herecurr); + } + } + # Check for lines starting with a # if ($in_commit_log && $line =~ /^#/) { if (WARN("COMMIT_COMMENT_SYMBOL",