mercurial – 列出自上次合并以来的所有合并变更集?
使用Mercurial,我怎样才能列出合并分支所应用的所有变更集,因为上次从该分支合并?
解决方法
Revsets是你的朋友.或者你的克星,取决于他们有多复杂:)
以下命令将显示最后两个合并之间的所有关联更改集: $hg log -r "first(last(merge(),2)):last(merge()) & ancestors(last(merge()))" 那个复杂的小表达式(我将在后面简单介绍)会做到以下几点: > x:y为您提供x和y之间的所有变更集 结合所有这些,上面的表达式变得(准备?):给我在最后两个合并中的第一个和最后一个合并之间的所有变更集,这恰好是最后一次合并的祖先. 祖先(…)位过滤掉任何不相关的变更集. 您可以通过添加&;将此限制为特定分支上的更改.分支(分支).例如,如果要从默认值合并到发布分支,则可以执行以下操作: $hg log -r "first(last(merge(),2)):last(merge()) & ancestors(last(merge())) & branch(default)" 这将不包括实际的合并本身,因为它们将出现在发布分支上. 希望这是有道理的 – 今天下午我会看看我是否可以采用更简单的方式,但这是第一个让人想起的.在此期间,如果您使用此功能,则可以通过在用户hgrc文件中创建revset别名来简化: [revsetalias] contrib = first(last(merge(),2)):last(merge()) & ancestors(last(merge())) 所以你可以使用: $hg log -r "contrib" $hg log -r "contrib & branch(default)" 有关更多信息,请查看hg help revsets. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |