mergetools: add a plug-in to support DeltaWalker
authorTim Henigan <tim.henigan@gmail.com>
Mon, 5 Mar 2012 14:28:07 +0000 (09:28 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Mar 2012 17:31:47 +0000 (09:31 -0800)
DeltaWalker is a non-free tool popular among some users.  Add a
plug-in to support it from difftool and mergetool.

Note that the $(pwd)/ in front of $MERGED should not be necessary.
However without it, DeltaWalker crashes with a JRE exception.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Helped-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mergetools/deltawalker [new file with mode: 0644]

diff --git a/mergetools/deltawalker b/mergetools/deltawalker
new file mode 100644 (file)
index 0000000..b3c71b6
--- /dev/null
@@ -0,0 +1,21 @@
+diff_cmd () {
+       "$merge_tool_path" "$LOCAL" "$REMOTE" >/dev/null 2>&1
+}
+
+merge_cmd () {
+       # Adding $(pwd)/ in front of $MERGED should not be necessary.
+       # However without it, DeltaWalker (at least v1.9.8 on Windows)
+       # crashes with a JRE exception.  The DeltaWalker user manual,
+       # shows $(pwd)/ whenever the '-merged' options is given.
+       # Adding it here seems to work around the problem.
+       if $base_present
+       then
+               "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" -merged="$(pwd)/$MERGED"
+       else
+               "$merge_tool_path" "$LOCAL" "$REMOTE" -merged="$(pwd)/$MERGED"
+       fi >/dev/null 2>&1
+}
+
+translate_merge_tool_path() {
+       echo DeltaWalker
+}