Mercurial 2.1:如果没有变化,如何在不获取返回码1的情况下使用pull / incoming?

时间:2012-02-23 09:23:35

标签: mercurial

在mercurial 2.1中,当没有变化时,pull和incoming命令现在返回代码1。那么现在有一个替代命令,我可以在命令行上执行下一个操作吗?

hg pull && echo "No changes, carry on."

一个很好的例子:checkoutmanager现在抱怨在更新mercurial结账时出现问题,而实际上根本没有变化:https://bitbucket.org/reinout/checkoutmanager/issue/17

请参阅mercurial 2.1发行说明,提及拉动(但不适用于传入)。 https://www.mercurial-scm.org/wiki/UpgradeNotes#A2.1:_phases.2C_various_minor_changes

2 个答案:

答案 0 :(得分:2)

对于下一个次要版本,将返回返回代码更改。

请参阅:https://www.mercurial-scm.org/pipermail/mercurial-devel/2012-February/037986.html

答案 1 :(得分:0)

您可以执行hg incoming,如果返回代码为1,您就知道没有任何变化。

pull的问题是当它返回1作为返回码时,它表示“无变化”或“未解析的文件”,当你有一个返回码时,incoming不是这种情况1你可以肯定地说没有变化。

在伪代码中,它将提供如下内容:

hg incoming
if(returncode = 0)
    hg pull
else
    echo "No changes, carry on."