是否有一些Mercurial修订集魔术可以用于在合并特定分支的default
分支上找到最后的变更集(我们称之为mybranch
)?
还是同样不错的发现,mybranch
的最新版本已合并到默认版本中??
另外,列出从mybranch
移植到default
的变更集的方法也不错。
答案 0 :(得分:2)
hg help revsets
作为源,从最后一个问题开始
"destination([set])"
Changesets that were created by a graft, transplant or rebase operation, with the given
revisions specified as the source.
Omitting the optional set is the same as passing all().
对于“ ...从mybranch移植到默认值的变更集”修订版将为
destination(branch("mybranch")) & branch("default")
更好:您可以将其存储为revsetalias(TBT!)
[revsetalias]
grafted(from, to) = destination(branch(from)) & branch(to)
并将其用于任何一对分支机构(扩展到自定义来源数量将是您的未来任务)
逐步
merge() & branch("to")
-TO中的所有合并点
p2(merge() & branch("to")) & branch("from")
-以上内容的父项仅合并自FROM
child(p2(merge() & branch("to")) & branch("from")) & branch("to")
-以上父母的孩子只能在TO中使用(因为他们也可以在其他分支中拥有孩子)
last(child(p2(merge() & branch("to")) & branch("from")) & branch("to"))
-如果合并不止一次,则为最新的合并点。
一组revsetaliases(以提高可读性)
[revsetalias]
ms(to) = merge() & branch(to)
ms2b(to,from)=(child(p2(ms(to())))&branch(from))&branch(to)
fp_ms(to,from) = p2(ms(to)) & branch(from)
和您的修订:
last(ms2b("default","mybranch"))
last(fp_ms("default","mybranch"))
添加和演示
我修复了ms2b(),如下面的THG的repobrowser屏幕截图所示。从稳定状态按原样合并为默认值
children(p2(merge() & branch(default)) & branch(stable)) & branch(default)
具有参数和预先准备的revsetaliases
ms2b(to,from) = children(p2(ms(to)) & branch(from)) & branch(to)