如何查看变更集是否已在 branchX 和默认值之间嫁接?我知道,hg 嫁接为我检查了这一点,在那里我不能嫁接两次,但我想列出所有未在 branchX 和默认值之间嫁接的变更集。提前感谢您的回答。
此信息存储在嫁接变更集内的所谓"额外"字典中。这是一个简单的键值映射,您可以使用 hg log --debug
.
不幸的是,该信息尚未作为 revset 谓词公开,因此您必须以老式的方式进行操作:从
$ hg --debug log -b branchX
获取branchX
上的变更集。然后grep
或以其他方式搜索匹配的行
extra: source=[0-9a-f]{40}
如果需要更高级别的访问权限,可以使用 Mercurial 绑定。目前有Java,Python和Scala的库。
如果您有 Mercurial 2.3 或更高版本,则可以使用 revset 来执行此操作:
$ hg log -r "destination()"
以获取作为移植目标的所有变更集的列表。 您还可以执行以下操作:
$ hg log -r "origin()"
以获取作为移植原点的所有变更集的列表。 这些修订集都采用另一个修订集作为参数,因此您可以使用可组合修订集的全部功能在搜索中向下钻取。