`hg outgoing`的本地版本是什么?

4

这个命令

hg outgoing

比较本地存储库与默认推送位置;它访问推送位置以执行此操作。

我想问的问题是:“自上次hg push以来,我是否在本地存储库中检入了更改?”而不必访问远程存储库。

看起来本地存储库中可能有足够的信息来解决这个问题;如果是这样的话,是否有一种命令可以确定呢?


MercurialEclipse具有此功能。它会在分支名称右侧显示挂起提交的数量,例如 ↑ 10 - saaj
1个回答

9

没有内置的方法可以做到这一点。跟踪已推送的内容可能会有些棘手,因为您可以将其推送到多个位置。而且您可以从多个位置拉取。所以我可以先推送到 X,然后推送到 Y,然后从 Z 拉取,我的 'hg outgoing X' 输出很难预测仅限本地。

话虽如此,您可以使用以下命令:

hg tag --local --force -r tip pushed

这将创建一个仅本地的标签,指向当前的 tip。如果您始终在推送后运行它,您将始终知道上次推送的内容。

您可以在 .hgrc 文件中创建一个 post-push 钩子来执行此操作:

[hook]
post-push = hg tag --local --force -r tip pushed

在最后几行中,应该是“outgoing”钩子,而不是“commit”钩子,对吗? - Niall C.
谢谢,Niall。实际上我想要的是post-push钩子,因为那是我们正在跟踪的,但post-commit肯定是错误的。 - Ry4an Brase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接