mirror of
https://github.com/git/git.git
synced 2024-12-11 10:54:21 +08:00
bc7a96a896
Individual merge tools are now defined in a mergetools/$tool file which is sourced at runtime. The individual files are installed into $(git --exec-path)/mergetools/. New tools can be added by creating a new file instead of editing the git-mergetool--lib.sh scriptlet. http://thread.gmane.org/gmane.comp.version-control.git/134906/focus=135006 Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
47 lines
695 B
Plaintext
47 lines
695 B
Plaintext
# Redefined by builtin tools
|
|
can_merge () {
|
|
return 0
|
|
}
|
|
|
|
can_diff () {
|
|
return 0
|
|
}
|
|
|
|
diff_cmd () {
|
|
merge_tool_cmd="$(get_merge_tool_cmd "$1")"
|
|
if test -z "$merge_tool_cmd"
|
|
then
|
|
status=1
|
|
break
|
|
fi
|
|
( eval $merge_tool_cmd )
|
|
status=$?
|
|
return $status
|
|
}
|
|
|
|
merge_cmd () {
|
|
merge_tool_cmd="$(get_merge_tool_cmd "$1")"
|
|
if test -z "$merge_tool_cmd"
|
|
then
|
|
status=1
|
|
break
|
|
fi
|
|
trust_exit_code="$(git config --bool \
|
|
mergetool."$1".trustExitCode || echo false)"
|
|
if test "$trust_exit_code" = "false"
|
|
then
|
|
touch "$BACKUP"
|
|
( eval $merge_tool_cmd )
|
|
status=$?
|
|
check_unchanged
|
|
else
|
|
( eval $merge_tool_cmd )
|
|
status=$?
|
|
fi
|
|
return $status
|
|
}
|
|
|
|
translate_merge_tool_path () {
|
|
echo "$1"
|
|
}
|