显示指定分支

时间:2017-11-29 21:52:16

标签: mercurial

我正在使用id --num --rev tip命令和一个小的CMake脚本的组合来生成库的内部版本号。

这一切都有效,但图书馆的规范版本存在于自己的“供应商”中。所以我需要能够使用一个参数来执行id --num --rev tip,该参数告诉它查看默认的不同分支。

我的所有尝试都失败了 - 这是否可能,如果是,那么正确的语法是什么?

1 个答案:

答案 0 :(得分:2)

呃,没有人! NOT 使用mercurial存储库中的数字修订版来进行版本控制。 数字修订号对于单个存储库来说是严格本地的,甚至可以在进行本地克隆时更改。

我非常建议使用semantic versioning并可能计算自上一个此类标记以来的提交。这些工作的朋友revsetstemplating允许您访问这些内容(结帐时也hg help revsetshg help templates)。

E.g。

hg log --rev="last(branch(BRANCHNAME))" --template"{latesttag}-{latesttagdistance}"

分别为默认0.4.4-11和0.2分支0.2.5-1提供了一个存储库。如果您想要特定版本而不是给定分支中的最新版本,只需将--rev - 参数替换为您感兴趣的实际版本。

请注意,如果您使用具有多个头部的分支,在上面的形式中仍然存在歧义,这些分支在标记之后分支;因此,在任何版本控制方案中使用提交哈希都没有好办法。因此,对于当前检出的版本,我通常使用版本:

 hg log -r. --template="{latesttag}-{latesttagdistance} (h{node|short})"

给了我0.4.4-11 (h96b8395ca393)