Re: [PATCH] mergetools: add vimdiff3 mode

2014-04-22 Thread Junio C Hamano
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

2014-04-21 Thread David Aguilar
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

2014-04-20 Thread Felipe Contreras
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