[Cc:ing Charles in case he has an opinion, this behavior dates back to the 
original MT]

On Sun, Apr 20, 2014 at 07:17:34PM -0500, Felipe Contreras wrote:
> 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.

I agree this is probably helpful.
Most users I've met end up configuring mergetool.prompt=false.

Thanks

> Signed-off-by: Felipe Contreras <felipe.contre...@gmail.com>
> ---
>  git-mergetool.sh | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/git-mergetool.sh b/git-mergetool.sh
> index 332528f..d08dc92 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)"
> -- 
> 1.9.2+fc1.1.g5c924db
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
David
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to