From d766ca8ff1e4ff1a30385508e1f456fad6bfe9f8 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 1 Feb 2016 08:29:28 -0800 Subject: [PATCH] Chatter when autogen.sh changes Git configuration MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * autogen.sh (git_config): New function. Use it instead of ‘git config’. --- autogen.sh | 25 ++++++++++++++++++++----- 1 file 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. -- 2.39.2