diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2014-04-20 19:17:34 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-04-22 12:49:46 -0700 |
commit | 4ecc63d7f982aa65038048bcdaf49e99b428b028 (patch) | |
tree | d16dc5133ac4a9a6fa9b313749d2e32098ab321a /git-mergetool.sh | |
parent | 779792a5f24bb4e8049c4f88ad752e70d4a8a080 (diff) | |
download | git-4ecc63d7f982aa65038048bcdaf49e99b428b028.tar.gz |
mergetool: run prompt only if guessed tool
It's annoying to see the prompt:
Hit return to start merge resolution tool (foo):
Every time the user does 'git mergetool' even if the user already
configured 'foo' as the wanted tool.
Display this prompt only when the user hasn't explicitly configured a
tool.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-mergetool.sh')
-rwxr-xr-x | git-mergetool.sh | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/git-mergetool.sh b/git-mergetool.sh index 332528ff45..d08dc92589 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -277,7 +277,7 @@ merge_file () { echo "Normal merge conflict for '$MERGED':" describe_file "$local_mode" "local" "$LOCAL" describe_file "$remote_mode" "remote" "$REMOTE" - if "$prompt" = true + if test "$guessed_merge_tool" = true || test "$prompt" = true then printf "Hit return to start merge resolution tool (%s): " "$merge_tool" read ans || return 1 @@ -315,7 +315,8 @@ merge_file () { return 0 } -prompt=$(git config --bool mergetool.prompt || echo true) +prompt=$(git config --bool mergetool.prompt) +guessed_merge_tool=false while test $# != 0 do @@ -373,7 +374,14 @@ prompt_after_failed_merge () { if test -z "$merge_tool" then - merge_tool=$(get_merge_tool "$merge_tool") || exit + # Check if a merge tool has been configured + merge_tool=$(get_configured_merge_tool) + # Try to guess an appropriate merge tool if no tool has been set. + if test -z "$merge_tool" + then + merge_tool=$(guess_merge_tool) || exit + guessed_merge_tool=true + fi fi merge_keep_backup="$(git config --bool mergetool.keepBackup || echo true)" merge_keep_temporaries="$(git config --bool mergetool.keepTemporaries || echo false)" |