39

我需要让当前的 mercurial 变更集返回一个非常简单的 webservice,只是递增的修订号而不是哈希。我知道我可以使用

 hg --cwd C:\repos\MyRepo parent

这将返回我

changeset:   730:9d347e4a8d47
tag:         tip
user:        Simon Martin <simon.martin@mydomain.com>
date:        Tue Jun 12 15:39:45 2012 +0100
summary:     Fixed defect #244...

我需要的只是变更集的 730 部分。目标是能够编写一个非常简单的 Web 服务来返回该值 - 然后它将被另一个应用程序获取并显示在页脚中,以便快速参考当前的本地修订。然后测试过程可以参考那个“构建”,然后可以用来识别它。

4

2 回答 2

53

您可以使用以下方法显示工作副本当前父级的本地修订号:

hg identify --num

请注意,+当有本地更改时,这会输出一个后缀。添加一个-r .选项来避免这种情况。

您也可以使用该-r选项获取其他版本的本地版本号。例如,要检索最后标记的祖先的 ID:

hg id -n -r "ancestors(.) and tag()"
于 2012-06-13T11:17:16.767 回答
14

hg parent您可以为命令 使用自定义模板。

这应该得到你想要的:

hg parent --template "{rev}"
于 2012-06-13T10:28:30.560 回答