summaryrefslogtreecommitdiff
path: root/autogen.sh
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-02-01 08:29:28 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2016-02-01 08:30:02 -0800
commitd766ca8ff1e4ff1a30385508e1f456fad6bfe9f8 (patch)
tree0623452938cd004e97e870a0c23c91c0886d36aa /autogen.sh
parent3b734e1273220596485f2dcbdb3be916eba53047 (diff)
downloademacs-d766ca8ff1e4ff1a30385508e1f456fad6bfe9f8.tar.gz
Chatter when autogen.sh changes Git configuration
* autogen.sh (git_config): New function. Use it instead of ‘git config’.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh25
1 files changed, 20 insertions, 5 deletions
diff --git a/autogen.sh b/autogen.sh
index 877bb8476f7..42a779ea8c8 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -220,17 +220,32 @@ echo timestamp > src/stamp-h.in || exit
## Configure Git, if using Git.
if test -d .git && (git status -s) >/dev/null 2>&1; then
+ # Like 'git config NAME VALUE', but verbose on change and exit on failure.
+
+ git_config ()
+ {
+ name=$1
+ value=$2
+ ovalue=`git config --get "$name"` && test "$ovalue" = "$value" || {
+ echo "${Configuring_git}git config $name '$value'"
+ Configuring_git=
+ git config "$name" "$value" || exit
+ }
+ }
+ Configuring_git='Configuring git...
+'
+
# Check hashes when transferring objects among repositories.
- git config transfer.fsckObjects true || exit
+ git_config transfer.fsckObjects true
# 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
+ git_config 'diff.elisp.xfuncname' \
+ '^\(def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
+ git_config 'diff.texinfo.xfuncname' \
+ '^@node[[:space:]]+([^,[:space:]][^,]+)'
# Install Git hooks.