Browse Source
Add a winmerge scriptlet with the commands described in [1] so that users can use winmerge without needing to perform any additional configuration. [1] http://thread.gmane.org/gmane.comp.version-control.git/268631 Helped-by: Philip Oakley <philipoakley@iee.org> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de> Helped-by: Sebastian Schuberth <sschuberth@gmail.com> Helped-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
David Aguilar
10 years ago
committed by
Junio C Hamano
1 changed files with 36 additions and 0 deletions
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
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 |
||||
} |
Loading…
Reference in new issue