1. 29 Nov, 2016 1 commit
    • David Aguilar's avatar
      mergetool: honor mergetool.$tool.trustExitCode for built-in tools · 7c10605d
      David Aguilar authored
      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's avatarDun Peal <dunpealer@gmail.com>
      Signed-off-by: David Aguilar's avatarDavid Aguilar <davvid@gmail.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      7c10605d
  2. 19 Aug, 2011 1 commit