Mercurial 的所有内置提交标识符是什么?

What are all of Mercurial's built in commit identifiers?

我正在寻找简单的方法来移动到不同的提交,有时是在一个分支中(不一定是从最新的提交)。例如,我想要一种始终到达上一次提交的方法:

# move to commit before current commit
hg checkout -r ~.1

或移动到分支顶部

hg checkout tip

但我无法弄清楚如何移动到下一个提交(即当前提交之上的那个,~.1 的否定)。 hg 似乎已经建立了引用这些东西的方式(例如 tip (最新提交),. (当前提交)和 .~N (前 N 次提交) ),还有其他的吗?

  1. 您必须 re-read hg help revsets 小心并且 a) 构建(如果需要)b) 在 hg 命令中使用这些 revsets
  • 如果你想使用“~”符号,你必须使用正确的格式 of revset hg log -r ".~1" for immediate parent 并记住“只有 1 -st parent 被评估”(合并集,f.e,有两个 parents)
"x~n"
  The nth first ancestor of x
  • 命名分支(分支头)的顶部不是tip(提示-回购中的ltest提交,可以在另一个分支中) , 但 hg up

    的分支名称本身
  • 对于“x~n”revsets,您也可以使用负数:对于 n < 0,x 的第 n 个 明确后代