提交后在文件中包含修订号?

时间:2011-10-11 15:43:14

标签: asp.net mercurial tortoisehg

我正在使用TortoiseHg作为我网站的版本控制系统。我想在网站上放一个标签,报告服务器上的当前版本。不是手动更新,而是希望它是自动的。

如果我可以设置TortoiseHg在每次提交时将修订号写入文件,我可以设置我的网站在每次更改时加载版本号,并将此编号呈现给页面。是否有可能让TortoiseHg这样做?

4 个答案:

答案 0 :(得分:5)

首先,我有合同义务提醒您,在分布式系统中修订数字在很大程度上毫无意义。

其次,你可能想要的是一个钩子。有多种方法可以做到这一点。最简单的可能就是你的网络服务器结账:

# this gets run after each update, writes the LOCAL revision number to a file
[hooks]
update = hg id --num --rev . > update-number

答案 1 :(得分:1)

还有关键字扩展,它将扩展文件中的CVS / SVN样式关键字。它们可以包括版本,日期,作者等......

https://www.mercurial-scm.org/wiki/KeywordExtension

...但是也值得一读,因为你不会使用它。

https://www.mercurial-scm.org/wiki/KeywordPlan

答案 2 :(得分:1)

  1. 在mercurial wiki中阅读Keyword PlanVersioning With Make
  2. 选择最适合您的工作流程政策
  3. 而不是非模板化命令id选择命令,它返回所需数据并且可以使用--template选项进行模板化
  4. 为版本ID字符串写好template,我最喜欢的是附近的
  5. hg tip --template "{rev}:{node|short}-{latesttag}+{latesttagdistance}\n"

    其中,f.e。我今天得到的hgsubversion repo

    830:d4b3b8370b3c-1.2.1+42

答案 3 :(得分:1)

由于您使用的是.NET,因此在编译解决方案时,还有一些构建工具可以自动执行此操作: