diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-02-01 08:29:28 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-02-01 08:30:02 -0800 |
commit | d766ca8ff1e4ff1a30385508e1f456fad6bfe9f8 (patch) | |
tree | 0623452938cd004e97e870a0c23c91c0886d36aa /autogen.sh | |
parent | 3b734e1273220596485f2dcbdb3be916eba53047 (diff) | |
download | emacs-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-x | autogen.sh | 25 |
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. |