summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-12-28 10:05:14 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2014-12-28 10:07:56 -0800
commitf646cd99e5f2181cbaef365d2f8262789a515e45 (patch)
treed76a7970f1845c772711eef51ef787e55abeeeba
parent39eaef9f8b5aa9481e8d7c636f27b87fe8310060 (diff)
downloademacs-f646cd99e5f2181cbaef365d2f8262789a515e45.tar.gz
* build-aux/git-hooks/commit-msg: Allow tabs.
Treat them as if they were expanded to spaces, with tab stops every 8 columns.
-rw-r--r--ChangeLog6
-rwxr-xr-xbuild-aux/git-hooks/commit-msg16
2 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index b6d0fcbb92d..1b161abf11b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * build-aux/git-hooks/commit-msg: Allow tabs.
+ Treat them as if they were expanded to spaces, with tab stops
+ every 8 columns.
+
2014-12-17 Paul Eggert <eggert@cs.ucla.edu>
* .gitignore: Ignore /conftest*.
diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index 2e3e4f21cda..9b6179ee613 100755
--- a/build-aux/git-hooks/commit-msg
+++ b/build-aux/git-hooks/commit-msg
@@ -87,6 +87,15 @@ exec $awk '
status = 1
}
+ {
+ # Expand tabs to spaces for length calculations etc.
+ while (match($0, /\t/)) {
+ before_tab = substr($0, 1, RSTART - 1)
+ after_tab = substr($0, RSTART + 1)
+ $0 = sprintf("%s%*s%s", before_tab, 8 - (RSTART - 1) % 8, "", after_tab)
+ }
+ }
+
78 < length && $0 ~ space {
print "Line longer than 78 characters in commit message"
status = 1
@@ -103,12 +112,7 @@ exec $awk '
}
$0 ~ non_print {
- if (gsub(/\t/, "")) {
- print "Tab in commit message; please use spaces instead"
- }
- if ($0 ~ non_print) {
- print "Unprintable character in commit message"
- }
+ print "Unprintable character in commit message"
status = 1
}