Re: [PATCH 2/2] mergetool: run prompt only if guessed tool
- From
David Aguilar <davvid@gmail.com>
- Date
- Apr 22, 2014, 04:59 UTC
- Message-ID
- <20140422045951.GA60610@gmail.com>
- In-Reply-To
- <1398039454-31193-3-git-send-email-felipe.contreras@gmail.com>
[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:
Show 9 quoted lines
> 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
Show 51 quoted lines
> Signed-off-by: Felipe Contreras <felipe.contreras@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 majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html-- David