From: "Ignacio Peña" <ignacio.pena87@gmail.com>
To: Joe Perches <joe@perches.com>, Andy Whitcroft <apw@canonical.com>
Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>,
Lukas Bulwahn <lukas.bulwahn@gmail.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH v2 1/2] checkpatch: warn about novice phrases in commit messages
Date: Tue, 22 Jul 2025 23:02:56 -0400 [thread overview]
Message-ID: <20250723030257.66560-1-ignacio.pena87@gmail.com> (raw)
In-Reply-To: <20250721162437.6691-1-ignacio.pena87@gmail.com>
Add detection for common phrases that make patches appear less
confident. A single regex efficiently matches multiple patterns:
- 'please apply/merge/consider/review'
- 'hope this helps'
- 'my first patch/contribution'
- 'newbie/beginner here'
- 'not sure if (this is) correct'
- 'sorry if/for'
This check helps newcomers learn kernel communication style,
reducing patches dismissed for presentation rather than merit.
Link: https://docs.kernel.org/process/submitting-patches.html#describe-your-changes
Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Ignacio Peña <ignacio.pena87@gmail.com>
---
scripts/checkpatch.pl | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index e722dd6fa..6953ad515 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3266,6 +3266,15 @@ sub process {
"A patch subject line should describe the change not the tool that found it\n" . $herecurr);
}
+
+# Check for novice phrases in commit message
+ if ($in_commit_log && !$non_utf8_charset) {
+ # Single regex with all phrases, using non-capturing groups as Joe suggested
+ if ($line =~ /\b(?:please\s+(?:apply|merge|consider|review)|hope\s+this\s+helps|my\s+first\s+(?:patch|contribution)|(?:newbie|beginner)\s+here|not\s+sure\s+if\s+(?:this\s+is\s+)?correct|sorry\s+(?:if|for))\b/i) {
+ WARN("COMMIT_MESSAGE_NOVICE",
+ "Avoid apologetic or uncertain language - be direct and confident\n" . $herecurr);
+ }
+ }
# Check for Gerrit Change-Ids not in any patch context
if ($realfile eq '' && !$has_patch_separator && $line =~ /^\s*change-id:/i) {
if (ERROR("GERRIT_CHANGE_ID",
--
2.50.1
next prev parent reply other threads:[~2025-07-23 3:02 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-21 16:24 [PATCH 1/3] checkpatch: warn about novice phrases in commit messages Ignacio Peña
2025-07-21 16:24 ` [PATCH 2/3] checkpatch: enforce 12-char SHA for Fixes tags Ignacio Peña
2025-07-22 8:00 ` Greg Kroah-Hartman
2025-07-21 16:24 ` [PATCH 3/3] checkpatch: suggest including testing evidence Ignacio Peña
2025-07-22 7:59 ` Greg Kroah-Hartman
2025-07-22 17:58 ` [PATCH 1/3] checkpatch: warn about novice phrases in commit messages Joe Perches
2025-07-23 3:02 ` Ignacio Peña [this message]
2025-07-23 3:02 ` [PATCH v2 2/2] checkpatch: enforce 12-char SHA for Fixes tags Ignacio Peña
2025-07-23 5:18 ` Greg Kroah-Hartman
2025-07-23 3:26 ` [PATCH v2 1/2] checkpatch: warn about novice phrases in commit messages Joe Perches
2025-07-24 3:28 ` [PATCH v3] " Ignacio Peña
2025-07-24 7:04 ` Joe Perches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250723030257.66560-1-ignacio.pena87@gmail.com \
--to=ignacio.pena87@gmail.com \
--cc=apw@canonical.com \
--cc=dwaipayanray1@gmail.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.