summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@day>2017-10-14 19:16:12 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-10-14 19:19:24 -0700
commit3c78960a4755d7bd583a0411d7089a0c13c0c64b (patch)
tree30f58d39973a4878d4a71b15e1d79b70e5baf9a7
parentdef9715282f71953740e8b92cf6443bfc459dd41 (diff)
downloademacs-3c78960a4755d7bd583a0411d7089a0c13c0c64b.tar.gz
emacs-3c78960a4755d7bd583a0411d7089a0c13c0c64b.tar.bz2
emacs-3c78960a4755d7bd583a0411d7089a0c13c0c64b.zip
Encourage https: in commit messages
* CONTRIBUTE: Prefer https: when citing. * build-aux/git-hooks/commit-msg: Diagnose http: and ftp: URLs to FSF or GNU hosts.
-rw-r--r--CONTRIBUTE3
-rwxr-xr-xbuild-aux/git-hooks/commit-msg10
2 files changed, 13 insertions, 0 deletions
diff --git a/CONTRIBUTE b/CONTRIBUTE
index 8995bb3eec4..c7f3330ab01 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -175,6 +175,9 @@ them right the first time, so here are guidelines for formatting them:
bug number NNNNN in the debbugs database. This string is often
parenthesized, as in "(Bug#19003)".
+- When citing URLs, prefer https: to http: when either will do. In
+ particular, gnu.org and fsf.org URLs should start with "https:".
+
- Commit messages should contain only printable UTF-8 characters.
- Commit messages should not contain the "Signed-off-by:" lines that
diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index 39450865cb8..e21aaf074c6 100755
--- a/build-aux/git-hooks/commit-msg
+++ b/build-aux/git-hooks/commit-msg
@@ -66,6 +66,8 @@ exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" '
non_print = "[^[:print:]]"
}
}
+ c_lower = "abcdefghijklmnopqrstuvwxyz"
+ unsafe_gnu_url = "(http|ftp)://([" c_lower ".]*\\.)?(gnu|fsf)\\.org"
}
/^#/ {
@@ -125,6 +127,14 @@ exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" '
status = 1
}
+ {
+ if (match($0, unsafe_gnu_url)) {
+ url = substr($0, RSTART, RLENGTH)
+ printf "Use https: URL instead of '\''%s'\'' in commit message\n", url
+ status = 1
+ }
+ }
+
$0 ~ non_print {
print "Unprintable character in commit message"
status = 1