threads / patch / 29841

v4mergetools: add a plug-in to support DeltaWalker

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

## tl;dr

2 messages between Mar 5, 2012 and Mar 5, 2012. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Tim Henigan· Mar 5, 2012, 14:28 UTC · lore

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
Show changes to mergetools/deltawalker +21 −0
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

← back to recent threads