Merge branch 'sg/merge-summary-config'
[git.git] / mergetools / winmerge
blob74a66d4e8dae9529d14908aeb99e09d58f13724e
1 diff_cmd () {
2         "$merge_tool_path" -u -e "$LOCAL" "$REMOTE"
3         return 0
6 merge_cmd () {
7         # mergetool.winmerge.trustExitCode is implicitly false.
8         # touch $BACKUP so that we can check_unchanged.
9         touch "$BACKUP"
10         "$merge_tool_path" -u -e -dl Local -dr Remote \
11                 "$LOCAL" "$REMOTE" "$MERGED"
12         check_unchanged
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
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
35         printf WinMergeU.exe