From e36d716751d3477694325e1ff2ece33747133a5b Mon Sep 17 00:00:00 2001 From: Jacob Nisnevich Date: Fri, 25 Mar 2016 16:17:56 -0700 Subject: mergetools: create mergetool_find_win32_cmd() helper function for winmerge Signed-off-by: Jacob Nisnevich Acked-by: David Aguilar Signed-off-by: Junio C Hamano --- git-mergetool--lib.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'git-mergetool--lib.sh') diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 54ac8e4846..302c56de5b 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -372,3 +372,28 @@ get_merge_tool () { fi echo "$merge_tool" } + +mergetool_find_win32_cmd () { + executable=$1 + sub_directory=$2 + + # Use $executable if it exists in $PATH + if type -p "$executable" >/dev/null 2>&1 + then + printf '%s' "$executable" + return + fi + + # Look for executable in the typical locations + for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' | + cut -d '=' -f 2- | sort -u) + do + if test -n "$directory" && test -x "$directory/$sub_directory/$executable" + then + printf '%s' "$directory/$sub_directory/$executable" + return + fi + done + + printf '%s' "$executable" +} -- cgit v1.2.3