【发布时间】:2012-01-06 08:04:18
【问题描述】:
在 Git 中这很容易,因为 remote/branch 指向的提交与 branch 不同。如何用 Mercurial 做到这一点?
【问题讨论】:
-
您在寻找
hg outgoing吗?
在 Git 中这很容易,因为 remote/branch 指向的提交与 branch 不同。如何用 Mercurial 做到这一点?
【问题讨论】:
hg outgoing吗?
如果您的意思是查看本地存储库与您推送的存储库之间的不同之处,请尝试
hg outgoing
【讨论】:
从 Mercurial 2.1 开始,还有一个纯本地解决方案:阶段。 draft 阶段可能是您正在寻找的。详情请参考:
https://www.mercurial-scm.org/wiki/Phases
您可能会觉得hg phase <rev> 和hg log -r "draft()" 很有趣。
【讨论】:
draft 阶段显示所有修订的命令行调用是什么?
remotebranch extension 可以为您提供类似 Git 的设置。它跟踪[paths] 中列出的存储库的远程头,并将它们公开为名为@987654323@ 的标签。这可以让你运行
$ hg diff -r foo/default
查看自foo 存储库中的default 分支以来发生了什么变化。还有新的 revset 关键字可以让你做类似的事情
$ hg log -r "not pushed()"
得到什么
$ hg outgoing
可以,但是没有任何网络流量。
【讨论】:
【讨论】:
我会按照其他人的建议使用hg outgoing,但hg summary 也会告诉你。它可能需要--remote 选项来检查远程默认服务器。
【讨论】:
如果您需要选择变更集进行进一步处理,那么您可以使用outgoingrevset predicate。这使您可以将hg outgoing 重新实现为
hg log -r "outgoing()"
但真正的好处是您可以在其他情况下使用它,例如
hg strip "outgoing()"
【讨论】: