summaryrefslogtreecommitdiff
path: root/autogen.sh
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-11-28 22:55:31 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2014-11-28 23:07:16 -0800
commit0cce3623b169732a51f055a86fc926313b11a5ee (patch)
tree17154977d6e77f604ede0b82f89b2aeb6925310a /autogen.sh
parent9875d23d86c0668b1e697b67a394560d66c7826d (diff)
parent6b765b8facbdbb03f28028007885236601652515 (diff)
downloademacs-0cce3623b169732a51f055a86fc926313b11a5ee.tar.gz
Merge branch 'emacs-24'.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/autogen.sh b/autogen.sh
index 1945e8120b3..614bdc71b61 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -216,6 +216,46 @@ autoreconf -fi -I m4 || exit $?
## cause 'make' to needlessly run 'autoheader'.
echo timestamp > src/stamp-h.in || exit
+## Install Git hooks, if using Git.
+if test -d .git/hooks; then
+ tailored_hooks=
+ sample_hooks=
+
+ for hook in commit-msg pre-commit; do
+ cmp build-aux/git-hooks/$hook .git/hooks/$hook >/dev/null 2>&1 ||
+ tailored_hooks="$tailored_hooks $hook"
+ done
+ for hook in applypatch-msg pre-applypatch; do
+ cmp .git/hooks/$hook.sample .git/hooks/$hook >/dev/null 2>&1 ||
+ sample_hooks="$sample_hooks $hook"
+ done
+
+ if test -n "$tailored_hooks$sample_hooks"; then
+ echo "Installing git hooks..."
+
+ case `cp --help 2>/dev/null` in
+ *--backup*--verbose*)
+ cp_options='--backup=numbered --verbose';;
+ *)
+ cp_options='';;
+ esac
+
+ if test -n "$tailored_hooks"; then
+ for hook in $tailored_hooks; do
+ cp $cp_options build-aux/git-hooks/$hook .git/hooks || exit
+ chmod a-w .git/hooks/$hook || exit
+ done
+ fi
+
+ if test -n "$sample_hooks"; then
+ for hook in $sample_hooks; do
+ cp $cp_options .git/hooks/$hook.sample .git/hooks/$hook || exit
+ chmod a-w .git/hooks/$hook || exit
+ done
+ fi
+ fi
+fi
+
echo "You can now run './configure'."
exit 0