threads / patch / 18729

patchmergetool--lib: make (g)vimdiff workable under Windows

Subject: [PATCH] mergetool--lib: make (g)vimdiff workable under Windows

## tl;dr

One message between Apr 5, 2009 and Apr 5, 2009. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

David Aguilar· Apr 5, 2009, 04:15 UTC · lore
From: Markus Heidelberg <markus.heidelberg@web.de>

Under Windows vimdiff and gvimdiff are not available as symbolic links, but as batch files vimdiff.bat and gvimdiff.bat. These files weren't found by 'type vimdiff' which led to the following error:

The merge tool vimdiff is not available as 'vimdiff'

Even if they were found, it wouldn't work to invoke these batch files from git-mergetool.

To solve this, use vim and gvim (vim.exe and gvim.exe) and pass the -d command line switch over to them.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
---
Markus' last patch rebased.

This patch goes on top of the current difftool/mergetool patches from David. This is 'da/difftool' in the current 'pu' and in addition: [PATCH] mergetool-lib: refactor run_mergetool and check_unchanged [PATCH] mergetool-lib: specialize opendiff options when in diff mode

 git-mergetool--lib.sh |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)
Show changes to git-mergetool--lib.sh +10 −4
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index 268485a..3d3edda 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -12,6 +12,12 @@ translate_merge_tool_path () {
 		echo "$2"
 	else
 		case "$1" in
+		vimdiff)
+			path=vim
+			;;
+		gvimdiff)
+			path=gvim
+			;;
 		emerge)
 			path=emacs
 			;;
@@ -146,19 +152,19 @@ run_merge_tool () {
 	vimdiff)
 		if merge_mode; then
 			touch "$BACKUP"
-			"$merge_tool_path" -c "wincmd l" "$LOCAL" "$MERGED" "$REMOTE"
+			"$merge_tool_path" -d -c "wincmd l" "$LOCAL" "$MERGED" "$REMOTE"
 			check_unchanged
 		else
-			"$merge_tool_path" -c "wincmd l" "$LOCAL" "$REMOTE"
+			"$merge_tool_path" -d -c "wincmd l" "$LOCAL" "$REMOTE"
 		fi
 		;;
 	gvimdiff)
 		if merge_mode; then
 			touch "$BACKUP"
-			"$merge_tool_path" -c "wincmd l" -f "$LOCAL" "$MERGED" "$REMOTE"
+			"$merge_tool_path" -d -c "wincmd l" -f "$LOCAL" "$MERGED" "$REMOTE"
 			check_unchanged
 		else
-			"$merge_tool_path" -c "wincmd l" -f "$LOCAL" "$REMOTE"
+			"$merge_tool_path" -d -c "wincmd l" -f "$LOCAL" "$REMOTE"
 		fi
 		;;
 	xxdiff)
-- 
1.6.2.1.469.gdffc1

← back to recent threads