7

如果变更集已经在 branchX 和 default 之间移植,我如何查看?我知道,hg 嫁接会帮我检查这个,我不能嫁接两次,但我想列出所有未在 branchX 和默认值之间嫁接的变更集。提前感谢您的回答。

4

2 回答 2

7

此信息存储在嫁接变更集中所谓的“额外”字典中。这是一个简单的键值映射,您可以使用hg log --debug.

不幸的是,该信息尚未作为 revset 谓词公开,因此您必须以老式方式进行操作:从

$ hg --debug log -b branchX

获取变更集branchX。然后grep或以其他方式搜索匹配的行

extra:       source=[0-9a-f]{40}

如果您想要更高级别的访问权限,可以使用Mercurial 绑定。目前有 Java、Python 和 Scala 的库。

于 2012-04-24T21:21:52.733 回答
7

如果您有 Mercurial 2.3 或更高版本,则可以使用 revset 来执行此操作:

$ hg log -r "destination()"

获取作为移植目标的所有变更集的列表。你也可以这样做:

$ hg log -r "origin()"

获取所有移植起源的变更集的列表。这些修订集都将另一个修订集作为参数,因此您可以使用可组合修订集的全部功能来深入搜索。

于 2014-11-12T02:07:49.120 回答