Re: [PATCH] mergetools: add vimdiff3 mode
David Aguilar dav...@gmail.com writes: 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 dav...@gmail.com Thanks for an explicit Ack. I personally think a new backend vimdiff3 can go in 2.0 (though we are -rc0), as we can read from the patch below, it is very unlikely to break anything else (I am not sure what these 'hid' are in the implementation, but even if we had any breakage there, it would not affect anybody other than vimdiff3 backend). Signed-off-by: Felipe Contreras felipe.contre...@gmail.com --- 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 000..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 000..04a5bb0 --- /dev/null +++ b/mergetools/vimdiff3 @@ -0,0 +1 @@ +. $MERGE_TOOLS_DIR/vimdiff -- 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
Re: [PATCH] mergetools: add vimdiff3 mode
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 dav...@gmail.com Signed-off-by: Felipe Contreras felipe.contre...@gmail.com --- 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 000..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 000..04a5bb0 --- /dev/null +++ b/mergetools/vimdiff3 @@ -0,0 +1 @@ +. $MERGE_TOOLS_DIR/vimdiff -- 1.9.2+fc1.1.g5c924db -- 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
[PATCH] mergetools: add vimdiff3 mode
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. Signed-off-by: Felipe Contreras felipe.contre...@gmail.com --- 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 000..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 000..04a5bb0 --- /dev/null +++ b/mergetools/vimdiff3 @@ -0,0 +1 @@ +. $MERGE_TOOLS_DIR/vimdiff -- 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