#!/bin/sh
### autogen.sh - tool to help build Emacs from a repository checkout
-## Copyright (C) 2011-2014 Free Software Foundation, Inc.
+## Copyright (C) 2011-2016 Free Software Foundation, Inc.
## Author: Glenn Morris <rgm@gnu.org>
## Maintainer: emacs-devel@gnu.org
## 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
+
+## Configure Git, if using Git.
+if test -d .git && (git status -s) >/dev/null 2>&1; then
+
+ # Configure 'git diff' hunk header format.
+
+ git config 'diff.elisp.xfuncname' \
+ '^\(def[^[:space:]]+[[:space:]]+([^()[:space:]]+)' || exit
+ git config 'diff.texinfo.xfuncname' \
+ '^@node[[:space:]]+([^,[:space:]][^,]+)' || exit
+
+
+ # Install Git hooks.
+
tailored_hooks=
sample_hooks=
tailored_hooks="$tailored_hooks $hook"
done
for hook in applypatch-msg pre-applypatch; do
+ test ! -r .git/hooks/$hook.sample ||
cmp .git/hooks/$hook.sample .git/hooks/$hook >/dev/null 2>&1 ||
sample_hooks="$sample_hooks $hook"
done
*--backup*--verbose*)
cp_options='--backup=numbered --verbose';;
*)
- cp_options='';;
+ cp_options='-f';;
esac
if test -n "$tailored_hooks"; then