# [PATCH v4] mergetools: add a plug-in to support DeltaWalker

2 messages from 2012-03-05 to 2012-03-05. Participants: Tim Henigan, Junio C Hamano.
Thread: https://gitlist.dev/t/29841

## Tim Henigan, 2012-03-05 14:28

Subject: [PATCH v4] mergetools: add a plug-in to support DeltaWalker
Message-ID: <1330957687-4313-1-git-send-email-tim.henigan@gmail.com>
URL: https://gitlist.dev/e/1330957687-4313-1-git-send-email-tim.henigan%40gmail.com

```
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>
---

Changes in v4:
 - Changed all $PWD to $(pwd)
 - Added comment indicating why $MERGED is prefixed with $(pwd)/
 - Reworded commit message based on feedback from Junio Hamano
 - Added 'Helped-by: David Aguilar' to commit message

Changes in v3:
 - Changed script file name to lowercase to match others in mergetools
 - Added 'translate_merge_tool_path' to deal with difference between
  script file name and the actual name of the tool.

Changes in v2:
 - reworded the commit message
 - moved >/dev/null redirect to after the final fi statement
 - removed the 'status=$?' line at the end of merge_cmd()

Tested with DeltaWalker v1.9.8 on Ubuntu 11.10 and msysgit on Win7.


 mergetools/deltawalker |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 mergetools/deltawalker

diff --git a/mergetools/deltawalker b/mergetools/deltawalker
new file mode 100644
index 0000000..b3c71b6
--- /dev/null
+++ b/mergetools/deltawalker
@@ -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
+}
-- 
1.7.9.2.334.g79716

```

## Junio C Hamano, 2012-03-05 17:34

Subject: Re: [PATCH v4] mergetools: add a plug-in to support DeltaWalker
Message-ID: <7vvcmj0x6e.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vvcmj0x6e.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1330957687-4313-1-git-send-email-tim.henigan@gmail.com>

```
Thanks, will replace the version in 'pu' and advance it to 'next'.
Let's get this in before 1.7.10-rc0.

```
