Mercurial - 如何在特定分支上找到第一次提交

Mercurial - how to find first commit on specific branch

我不想确定 "foo" 分支的年龄。据我了解,不可能直接获得此信息。我试图编写命令来查找有关 "foo" 分支上第一次提交的信息。

hg log -r "parents(min(branch(foo)))"

这个 returns 不完全是我想要的。有人可以帮助我吗?

我应该不写parents:

hg log -r "min(branch(foo))"

现在它满足了我的需要。

这是否满足您的需求?

hg log -r "branch(default) and 0:" -l 1 --template "{date|isodate}\n"

我认为这为您提供了指定分支上第一个变更集的日期。

所以,分支上的第一个变更集 "testbranch"

% hg log -r "branch(testbranch) and 0:" -l 1
changeset:   107:bd91c8e6fa5f
branch:      testbranch
user:        Nick Pierpoint
date:        Fri May 15 15:16:44 2015 +0100
summary:     test one

... 添加 template 只是为了获取日期:

% hg log -r "branch(testbranch) and 0:" -l 1 --template "{date|isodate}\n"
2015-05-15 15:16 +0100

如果您总是想 return 单个变更集,您的 min 也适用:

% hg log -r "min(branch(testbranch))"
changeset:   107:bd91c8e6fa5f
branch:      testbranch
user:        Nick Pierpoint <nick.pierpoint@uk.bp.com>
date:        Fri May 15 15:16:44 2015 +0100
summary:     test one