maint: install customized git hooks to keep commit logs consistent
authorJim Meyering <meyering@redhat.com>
Sat, 12 Nov 2011 21:48:12 +0000 (22:48 +0100)
committerJim Meyering <meyering@redhat.com>
Sat, 12 Nov 2011 21:49:58 +0000 (22:49 +0100)
* bootstrap.conf (buildreq): Copy (with backup) coreutils-supplied
git hooks into .git/hooks, to help keep commit logs normalized.

bootstrap.conf

index d390fb2..cf15008 100644 (file)
@@ -330,4 +330,18 @@ bootstrap_epilogue()
   # first grep may well run out of memory.
   perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
     po/Makefile.in.in
+
+  # Install our git hooks, as long as "cp" accepts the --backup option,
+  # so that we can back up any existing files.
+  case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
+  if test $backup = 1; then
+    hooks=$(cd scripts/git-hooks && git ls-files)
+    for f in $hooks; do
+      # If it is identical, skip it.
+      cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
+        && continue
+      cp --backup=numbered scripts/git-hooks/$f .git/hooks
+      chmod a-w .git/hooks/$f
+    done
+  fi
 }