mercurial – 列出自上次合并以来的所有合并变更集?

mercurial – 列出自上次合并以来的所有合并变更集?,第1张

概述使用Mercurial,我怎样才能列出合并分支所应用的所有变更集,因为上次从该分支合并? Revsets是你的朋友.或者你的克星,取决于他们有多复杂:) 以下命令将显示最后两个合并之间的所有关联更改集: $hg log -r "first(last(merge(),2)):last(merge()) & ancestors(last(merge()))" 那个复杂的小表达式(我将在后面简单介绍)会 使用Mercurial,我怎样才能列出合并分支所应用的所有变更集,因为上次从该分支合并?解决方法 Revsets是你的朋友.或者你的克星,取决于他们有多复杂:)

以下命令将显示最后两个合并之间的所有关联更改集:

$hg log -r "first(last(merge(),2)):last(merge()) & ancestors(last(merge()))"

那个复杂的小表达式(我将在后面简单介绍)会做到以下几点:

> x:y为您提供x和y之间的所有变更集
> merge()是一个包含所有合并的revset.
> last(…,n)给出一组的最后n个变更集,n默认为1
> first(…)为您提供集合的第一个变更集
> ancestors(last(merge()))是一个包含上次合并的所有祖先的集合

结合所有这些,上面的表达式变得(准备?):给我在最后两个合并中的第一个和最后一个合并之间的所有变更集,这恰好是最后一次合并的祖先.

祖先(…)位过滤掉任何不相关的变更集.

您可以通过添加&;将此限制为特定分支上的更改.分支(分支).例如,如果要从默认值合并到发布分支,则可以执行以下 *** 作:

$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.

总结

以上是内存溢出为你收集整理的mercurial – 列出自上次合并以来的所有合并变更集?全部内容,希望文章能够帮你解决mercurial – 列出自上次合并以来的所有合并变更集?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1192790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存