diff options
author | David Aguilar <davvid@gmail.com> | 2016-11-29 01:38:07 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-11-29 10:54:03 -0800 |
commit | 7c10605d2ccf499af6136e993cf248892be39168 (patch) | |
tree | fd2c42ea696c365423d767225278d8cd8c49b516 /mergetools/tortoisemerge | |
parent | Git 2.10.2 (diff) | |
download | tgif-7c10605d2ccf499af6136e993cf248892be39168.tar.xz |
mergetool: honor mergetool.$tool.trustExitCode for built-in tools
Built-in merge tools contain a hard-coded assumption about
whether or not a tool's exit code can be trusted to determine
the success or failure of a merge. Tools whose exit codes are
not trusted contain calls to check_unchanged() in their
merge_cmd() functions.
A problem with this is that the trustExitCode configuration is
not honored for built-in tools.
Teach built-in tools to honor the trustExitCode configuration.
Extend run_merge_cmd() so that it is responsible for calling
check_unchanged() when a tool's exit code cannot be trusted.
Remove check_unchanged() calls from scriptlets since they are no
longer responsible for calling it.
When no configuration is present, exit_code_trustable() is
checked to see whether the exit code should be trusted.
The default implementation returns false.
Tools whose exit codes can be trusted override
exit_code_trustable() to true.
Reported-by: Dun Peal <dunpealer@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'mergetools/tortoisemerge')
-rw-r--r-- | mergetools/tortoisemerge | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/mergetools/tortoisemerge b/mergetools/tortoisemerge index 3b89f1c82d..d7ab666a59 100644 --- a/mergetools/tortoisemerge +++ b/mergetools/tortoisemerge @@ -5,7 +5,6 @@ can_diff () { merge_cmd () { if $base_present then - touch "$BACKUP" basename="$(basename "$merge_tool_path" .exe)" if test "$basename" = "tortoisegitmerge" then @@ -17,7 +16,6 @@ merge_cmd () { -base:"$BASE" -mine:"$LOCAL" \ -theirs:"$REMOTE" -merged:"$MERGED" fi - check_unchanged else echo "$merge_tool_path cannot be used without a base" 1>&2 return 1 |