From 26354b6dc607b7142f7d1c542a5060d2a41b852d Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 17 Feb 2025 15:17:00 +0800 Subject: [PATCH] ; More strongly discountenance Markdown-style quotes * CONTRIBUTE (Commit messages): Discourage quoting with Markdown-style pairs of backticks. * build-aux/git-hooks/prepare-commit-msg: Detect and reject commit messages with Markdown-style quotes. (cherry picked from commit 0e4d08f3dc7c76008da9cd912933a931c6e3e8d9) --- CONTRIBUTE | 10 ++++++---- build-aux/git-hooks/prepare-commit-msg | 12 ++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTE b/CONTRIBUTE index 0ab45a99ee2..336f6f0ce00 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -276,10 +276,12 @@ formatting them: - Emacs follows the GNU coding standards for ChangeLog entries: see https://www.gnu.org/prep/standards/html_node/Change-Logs.html or run - 'info "(standards)Change Logs"'. One exception is that commits - still sometimes quote `like-this' (as the standards used to - recommend) rather than 'like-this' or ‘like this’ (as they do now), - as `...' is so widely used elsewhere in Emacs. + 'info "(standards)Change Logs"'. One exception is that commits still + sometimes quote `like-this' (as the standards used to recommend) + rather than 'like-this' or ‘like this’ (as they do now), as `...' is + so widely used elsewhere in Emacs. Please do not adopt the ugly + Markdown convention where quoting is performed with pairs of backticks + in any circumstances. That is to say, never quote `like this`. - Some commenting rules in the GNU coding standards also apply to ChangeLog entries: they must be in English, and be complete diff --git a/build-aux/git-hooks/prepare-commit-msg b/build-aux/git-hooks/prepare-commit-msg index eefecaa1556..7761f46e5e0 100755 --- a/build-aux/git-hooks/prepare-commit-msg +++ b/build-aux/git-hooks/prepare-commit-msg @@ -33,17 +33,21 @@ else awk="awk" fi -exec $awk ' +exec $awk " # Catch the case when someone ran git-commit with -s option, # which automatically adds Signed-off-by. /^Signed-off-by: / { - print "'\''Signed-off-by:'\'' in commit message" + print \"'Signed-off-by:' in commit message\" + status = 1 + } + /(^|[^\\\\])\`[^'\`]+\`/ { + print \"Markdown-style quotes in commit message\" status = 1 } END { if (status != 0) { - print "Commit aborted; please see the file 'CONTRIBUTE'" + print \"Commit aborted; please see the file 'CONTRIBUTE'\" } exit status } -' <"$COMMIT_MSG_FILE" +" <"$COMMIT_MSG_FILE" -- 2.39.5