如果更改集已在branchX和default之间嫁接,我怎么看? 我知道,hg嫁接检查这个给我,在那里我不能移植两次,但我想列出所有更改集,这些更改集未在branchX和default之间嫁接。 提前感谢您的回答。
答案 0 :(得分:7)
此信息存储在嫁接变更集内的所谓“额外”字典中。这是一个简单的键值映射,您可以使用hg log --debug
查看。
遗憾的是,这些信息尚未作为revset谓词公开,因此您必须采用传统的方式:从
开始$ hg --debug log -b branchX
获取branchX
上的更改集。然后grep
或以其他方式搜索匹配
extra: source=[0-9a-f]{40}
如果您想要更高级别的访问权限,可以使用Mercurial bindings。目前有Java,Python和Scala库。
答案 1 :(得分:7)
如果你有Mercurial 2.3或更新版本,你可以使用revset来执行此操作:
$ hg log -r "destination()"
获取作为移植目的地的所有变更集的列表。你也可以这样做:
$ hg log -r "origin()"
获取所有移植来源的变更集的列表。这些revset都将另一个revset作为参数,因此您可以使用可组合revset的全部功能深入搜索。