【问题标题】:In Mercurial (hg), how do you query the hg database for changeset information?在 Mercurial (hg) 中,如何查询 hg 数据库以获取变更集信息?
【发布时间】:2014-08-01 19:44:59
【问题描述】:
我有一个变更集 32ada6b3ff3fd4b5d2d0e3da4ba72c5634da7857。此变更集已被移植并合并到各个分支中。从一个分支移植到另一个分支是相当容易的。移植信息显示执行“hg log -r 32ada6b3ff3fd4b5d2d0e3da4ba72c5634da7857”。从那里开始,这只是一个迭代过程。
如何找出这个变更集被合并或分支到了哪些分支?有没有办法在 hg 数据库中查询这些信息?
【问题讨论】:
标签:
merge
mercurial
branch
changeset
transplant
【解决方案1】:
32ada6b3 的后代的分支是(简而言之)
hg log -r "branch(32ada6b3::)"
这里主要的变化只是使用了谓词
【解决方案2】:
假设我理解您的问题,我认为您可以使用 revsets 完成此操作。例如:
hg log -r "heads(descendants(32ada6b....))"
将为您提供历史记录中包含 32ada6b... 且没有子级的所有变更集。