mergetools: create mergetool_find_win32_cmd() helper function for winmerge
Signed-off-by: Jacob Nisnevich <jacob.nisnevich@gmail.com> Acked-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jacob Nisnevich committed
Mar 25, 2016 at 16:17 UTC
e36d716751d3477694325e1ff2ece33747133a5b
2 files changed
+26
-20
git-mergetool--lib.sh
+25
@@ -372,3 +372,28 @@ get_merge_tool () {
372
fi
373
echo "$merge_tool"
374
}
375
+
376
+mergetool_find_win32_cmd () {
377
+ executable=$1
378
+ sub_directory=$2
379
+
380
+ # Use $executable if it exists in $PATH
381
+ if type -p "$executable" >/dev/null 2>&1
382
+ then
383
+ printf '%s' "$executable"
384
+ return
385
+ fi
386
+
387
+ # Look for executable in the typical locations
388
+ for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' |
389
+ cut -d '=' -f 2- | sort -u)
390
+ do
391
+ if test -n "$directory" && test -x "$directory/$sub_directory/$executable"
392
+ then
393
+ printf '%s' "$directory/$sub_directory/$executable"
394
+ return
395
+ fi
396
+ done
397
+
398
+ printf '%s' "$executable"
399
+}
mergetools/winmerge
+1
-20
@@ -13,24 +13,5 @@ merge_cmd () {
13
}
14
15
translate_merge_tool_path() {
16
- # Use WinMergeU.exe if it exists in $PATH
17
- if type -p WinMergeU.exe >/dev/null 2>&1
18
- then
19
- printf WinMergeU.exe
20
- return
21
- fi
22
-
23
- # Look for WinMergeU.exe in the typical locations
24
- winmerge_exe="WinMerge/WinMergeU.exe"
25
- for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' |
26
- cut -d '=' -f 2- | sort -u)
27
- do
28
- if test -n "$directory" && test -x "$directory/$winmerge_exe"
29
- then
30
- printf '%s' "$directory/$winmerge_exe"
31
- return
32
- fi
33
- done
34
-
35
- printf WinMergeU.exe
16
+ mergetool_find_win32_cmd "WinMergeU.exe" "WinMerge"
17
}