当我使用Subversion作为构建过程的一部分时,我会运行'svn info'并捕获唯一的ID号并将其回显到头文件以供其他程序包含。这使得用户可以轻松地说,例如,“我正在运行build 456”并且给出了数字456,我可以始终交叉引用他们正在运行的内容。
我正在试图弄清楚如何用Mercurial实现同样的目标。 'hg summary'显示整数id以及hex哈希码。根据我的阅读,整数id对于不同的人可能是不同的。我假设哈希码是唯一的,但它不是非常用户友好。
hg哈希码是否是识别Mercurial中特定文件版本的唯一唯一方式?
谢谢你, 佛瑞德
答案 0 :(得分:3)
是的,这是唯一识别变更集的唯一方法。
文档中的更多详细信息:ChangeSet和ChangeSetID
如果你想使用整数,我会看到两种可能的解决方案,具体取决于你的构建过程。
答案 1 :(得分:1)
hg id
命令将为您提供所需的变更集。您也可以向命令添加一些选项,但最有用和永久的部分是变更集ID
对于同一个回购
>hg id -nibt
6c4d15d8cfbd 841 default tip
>hg id
6c4d15d8cfbd tip
您还可以考虑一些支持模板输出的命令,并结合模板关键字的好输出混合:hg help templating
已经提到的repo的例子
>hg log --template "{rev}:{node|short}-{latesttag}+{latesttagdistance}" -r tip
841:6c4d15d8cfbd-1.3+3