Mercurial-如何在特定分支上查找首次提交

Kir*_*kov 4 mercurial

我不会确定“ foo”分支的年龄。据我了解,不可能直接获得此信息。我试图编写将在“ foo”分支上找到有关第一次提交的信息的命令。

hg log -r "parents(min(branch(foo)))"
Run Code Online (Sandbox Code Playgroud)

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

Kir*_*kov 6

我应该写没有parents

hg log -r "min(branch(foo))"
Run Code Online (Sandbox Code Playgroud)

现在,它可以满足我的需求。


Nic*_*int 4

这能满足您的需要吗?

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

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

因此,分支“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
Run Code Online (Sandbox Code Playgroud)

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

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

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
Run Code Online (Sandbox Code Playgroud)