Mercurial 2.1:在没有更改的情况下,如何在不返回代码1的情况下使用pull/incoming



在mercurial 2.1中,pull和incoming命令现在在没有更改的情况下返回代码为1。那么,现在有没有一个替代命令可以让我在命令行上做下一个类似的事情?

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

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

请参阅mercurial 2.1发行说明,其中提到了pull(但不包括传入)。https://www.mercurial-scm.org/wiki/UpgradeNotes#A2.1:_phases.2C_various_minor_changes

该返回代码更改将在下一个次要版本中恢复。

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

您可以执行hg incoming,如果返回代码为1,您就知道没有更改。

pull的问题是,当它返回1作为返回代码时,它意味着"没有更改"或"未解析的文件",而incoming的情况并非如此,当您的返回代码为1时,您可以放心地说没有更改。

在伪代码中,它会给出这样的结果:

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

相关内容

最新更新