Mercurial:检测哪个更改设置了特定修订版主分支的位置

时间:2015-02-27 03:17:06

标签: mercurial

随着repos铺设等待检查,人们在随机时间合并分支,以及一般的混乱,我需要确定在发布时主分支的尖端究竟是什么(哪些变更集)(标签/修订版)。我必须追溯并自动完成。 这似乎是一个基本的东西应该可以用hg日志实现,但我无法弄清楚如何。请帮忙!

有了@planetmaker的建议,我尝试了以下内容,它似乎正在运作!

hg log -r“branch(默认)和:: HashNumber”

1 个答案:

答案 0 :(得分:1)

问题的答案在于使用revsets。结帐hg help revset以获取有关您可以使用它们的完整列表。

如果您对特定时间之前BRANCHNAME中的变更集最后一个变更集感兴趣:hg log -r"last(date(<2012-01-01)) and branch(BRANCHNAME)"hg help dates了解如何定义日期的选项,包括确切时间。)

现在,如果要在脚本中使用此信息,则不需要完整的日志输出,而只需要修订版本或散列本身。使用模板功能格式化输出。因此,适当地修改日志调用:

hg log -r"last(date(<2012-01-01)) and branch(BRANCHNAME)" --template="{node|short}\n"

以便只获取哈希值。或者使用{rev}作为数字变更集版本(虽然这只是那个非常重要的版本);请参阅hg help templates以获取可输出内容的完整列表。