当我在构建过程中使用 Subversion 时,我会运行“svn 信息”并捕获唯一 ID 号并将其回显到头文件以供其他程序包含。这让用户很容易说,例如,“我正在运行构建 456”,并且给出数字 456,我总是可以交叉引用他们正在运行的确切内容。
我正在尝试弄清楚如何使用 Mercurial 实现相同的目的。 'hg summary' 显示一个整数 id 以及十六进制哈希码。从我读到的内容来看,不同的人的整数 id 可能不同。我假设哈希码是唯一的,但它对用户来说不是很友好。
hg 哈希码是在 Mercurial 中识别特定文件版本的唯一唯一方式吗?
谢谢, 弗雷德
最佳答案
是的,这是唯一标识变更集的唯一方法。
文档中有更多详细信息:ChangeSet和 ChangeSetID
如果您想使用整数,我会根据您的构建过程看到两种可能的解决方案。
- 如果构建总是发生在同一台机器上(即:同一存储库),您可以使用整数 id,因为它在特定存储库上永远不会改变(除非您重写历史记录)
- 如果特定版本的构建只发生一次,您可以在构建脚本中使用每次递增的变量。
关于 Mercurial : user friendly way to display exact revision number of files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8538041/