| diff_cmd () { |
| "$merge_tool_path" -u -e "$LOCAL" "$REMOTE" |
| return 0 |
| } |
| |
| merge_cmd () { |
| # mergetool.winmerge.trustExitCode is implicitly false. |
| # touch $BACKUP so that we can check_unchanged. |
| touch "$BACKUP" |
| "$merge_tool_path" -u -e -dl Local -dr Remote \ |
| "$LOCAL" "$REMOTE" "$MERGED" |
| check_unchanged |
| } |
| |
| translate_merge_tool_path() { |
| # Use WinMergeU.exe if it exists in $PATH |
| if type -p WinMergeU.exe >/dev/null 2>&1 |
| then |
| printf WinMergeU.exe |
| return |
| fi |
| |
| # Look for WinMergeU.exe in the typical locations |
| winmerge_exe="WinMerge/WinMergeU.exe" |
| for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' | |
| cut -d '=' -f 2- | sort -u) |
| do |
| if test -n "$directory" && test -x "$directory/$winmerge_exe" |
| then |
| printf '%s' "$directory/$winmerge_exe" |
| return |
| fi |
| done |
| |
| printf WinMergeU.exe |
| } |