如何在 Mercurial 中确定修订版指定的变更集是否已嫁接

  • 本文关键字:是否 Mercurial 修订版 mercurial
  • 更新时间 :
  • 英文 :


如何查看变更集是否已在 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()"

以获取作为移植原点的所有变更集的列表。 这些修订集都采用另一个修订集作为参数,因此您可以使用可组合修订集的全部功能在搜索中向下钻取。

相关内容

最新更新