X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/0121d32af5f58b284815da9c571f829f0f9e9186..6ffb560b2a940d19419ac5afe11418588ef8c61f:/autogen.sh?ds=inline diff --git a/autogen.sh b/autogen.sh index 1945e8120b..c3ae1d766d 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,7 +1,7 @@ #!/bin/sh ### autogen.sh - tool to help build Emacs from a repository checkout -## Copyright (C) 2011-2014 Free Software Foundation, Inc. +## Copyright (C) 2011-2015 Free Software Foundation, Inc. ## Author: Glenn Morris ## Maintainer: emacs-devel@gnu.org @@ -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='-f';; + 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