Subject: Re: [PATCH] mergetools: add vimdiff3 mode

From: David Aguilar <[email-masked]>
Date: Mon, 21 Apr 2014 22:01:43 -0700

On Sun, Apr 20, 2014 at 07:24:20PM -0500, Felipe Contreras wrote:
> It's similar to the default, except that the other windows are hidden.
> This ensures that removed/added colors are still visible on the main
> merge window, but the other windows not visible.
> 
> Specially useful with merge.conflictstyle=diff3.

This is a nice addition, thanks.

FWIW,
Acked-by: David Aguilar <[email-masked]>

> 
> Signed-off-by: Felipe Contreras <[email-masked]>
> ---
> 
> How a conflict looks:
> http://felipec.org/vimdiff3-conflict.png
> 
> How it looks resolved:
> http://felipec.org/vimdiff3-resolved.png
> 
>  mergetools/gvimdiff3 |  1 +
>  mergetools/vimdiff   | 14 ++++++++++++--
>  mergetools/vimdiff3  |  1 +
>  3 files changed, 14 insertions(+), 2 deletions(-)
>  create mode 100644 mergetools/gvimdiff3
>  create mode 100644 mergetools/vimdiff3
> 
> diff --git a/mergetools/gvimdiff3 b/mergetools/gvimdiff3
> new file mode 100644
> index 0000000..04a5bb0
> --- /dev/null
> +++ b/mergetools/gvimdiff3
> @@ -0,0 +1 @@
> +. "$MERGE_TOOLS_DIR/vimdiff"
> diff --git a/mergetools/vimdiff b/mergetools/vimdiff
> index 39d0327..1ddfbfc 100644
> --- a/mergetools/vimdiff
> +++ b/mergetools/vimdiff
> @@ -20,16 +20,26 @@ merge_cmd () {
>  		"$merge_tool_path" -f -d -c 'wincmd l' \
>  			"$LOCAL" "$MERGED" "$REMOTE"
>  		;;
> +	gvimdiff3|vimdiff3)
> +		if $base_present
> +		then
> +			"$merge_tool_path" -f -d -c 'hid | hid | hid' \
> +				"$LOCAL" "$REMOTE" "$BASE" "$MERGED"
> +		else
> +			"$merge_tool_path" -f -d -c 'hid | hid' \
> +				"$LOCAL" "$REMOTE" "$MERGED"
> +		fi
> +		;;
>  	esac
>  	check_unchanged
>  }
>  
>  translate_merge_tool_path() {
>  	case "$1" in
> -	gvimdiff|gvimdiff2)
> +	gvimdiff|gvimdiff2|gvimdiff3)
>  		echo gvim
>  		;;
> -	vimdiff|vimdiff2)
> +	vimdiff|vimdiff2|vimdiff3)
>  		echo vim
>  		;;
>  	esac
> diff --git a/mergetools/vimdiff3 b/mergetools/vimdiff3
> new file mode 100644
> index 0000000..04a5bb0
> --- /dev/null
> +++ b/mergetools/vimdiff3
> @@ -0,0 +1 @@
> +. "$MERGE_TOOLS_DIR/vimdiff"
> -- 
> 1.9.2+fc1.1.g5c924db
-- 
David