【发布时间】:2010-08-23 11:59:39
【问题描述】:
在 git 中,您可以通过 master^^ 之类的方式引用修订,这意味着在 master 之前有两个修订。你能以某种方式(或扩展)在 Mercurial 中做同样的事情吗?例如,如果我想做“提示之前的修订”,比如tip^。
编辑:Rafa 提到了hg parents,它适用于 1 级深度。我如何为任意级别的深度做到这一点。
【问题讨论】:
在 git 中,您可以通过 master^^ 之类的方式引用修订,这意味着在 master 之前有两个修订。你能以某种方式(或扩展)在 Mercurial 中做同样的事情吗?例如,如果我想做“提示之前的修订”,比如tip^。
编辑:Rafa 提到了hg parents,它适用于 1 级深度。我如何为任意级别的深度做到这一点。
【问题讨论】:
对于具有指定版本选项的命令,使用-r -2 表示提示之前的版本,-r -3 表示之前的版本,等等。
来自hg help revs:
普通整数被视为修订号。负整数被视为与提示的连续偏移量,-1 表示提示,-2 表示提示之前的修订,依此类推。
还有ParentrevspecExtension 允许您使用如下语法:tip^ 表示tip 的父级,tip^^ 表示其父级,等等。
【讨论】:
正如 Niall C. 所提到的,当修订是线性的时,可以使用负规范从尖端开始返回(显然只适用于线性历史)。
从 Mercurial 1.6 开始,有一些类似于 Parentrevspec 的东西,但核心是指定复杂的修订规范:revsets。
例如,"p1(tip)" 是"tip" 的第一个父级等
【讨论】:
你可以做“hg parents -r revision”
【讨论】:
tip^^^。有没有办法做到这一点? (我会澄清这个问题)。