【问题标题】:How should a mergetool indicate success of a merge?合并工具应如何指示合并成功?
【发布时间】:2019-07-12 18:21:07
【问题描述】:

我正在编写一个能够合并自定义二进制文件的程序。我想让 Git 信任我的程序的退出代码,但似乎没有记录哪些退出代码确实表明成功。

git-mergetool 的文档指出:

如果自定义合并工具正确指示合并成功 分辨率及其退出代码,然后是配置变量 mergetool.<tool>.trustExitCode 可以设置为true。否则,git mergetool 会提示用户指示成功 自定义工具退出后的分辨率。

但这并没有告诉我在哪种情况下使用哪个退出代码。 有什么想法吗?

【问题讨论】:

  • 可能通过退出代码 0 退出。退出代码含义的典型标准是 0 表示成功,其他任何内容都是错误,并且通常确切的非零退出代码表示不同类型的错误。所以如果成功,我会返回 0,如果不成功,我会返回 1。
  • 通常退出代码0表示成功,其他表示错误

标签: git exit-code mergetool


【解决方案1】:

Git 遵循 Unix/POSIX 标准约定:0 = 成功,非零通常意味着某种失败。

通常(但不在 Git 中)2 用于不当使用诊断和/或--help 输出;不过,--help 也同样经常导致成功退出,Git 就是这种情况。 (与此同时,git not-a-git-command 导致状态 1。也就是说,在 Git 中,failure-that-produces-some-help 会导致退出 1,而 for help 请求会产生退出 0。)

git bisect 命令还有一个特殊的退出代码,即 125,当从 git bisect run 调用的命令返回时,它会异常解释该退出代码;请参阅the documentation 了解为什么 125 意味着它在这里的作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-18
    • 2020-05-10
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 2011-03-14
    • 2018-10-06
    相关资源
    最近更新 更多