1

我有一个巨大的 Mercurial 存储库,其中包含一个名为“.version”的生成文件。每次提交或完成更新时,都会使用挂钩自动生成此文件。

但是这个文件是生成的并且没有版本化(这总是会导致与其他项目开发人员的冲突),我希望它在我做的时候总是被打包

hg archive

关于 hg archive 的帮助页面告诉我们有一个选项

hg archive -I .version

但是有没有办法自动执行这个包含?

我在有关 hgrc 文件的手册页中没有找到与此相关的选项。

有什么建议么?

4

2 回答 2

1

归档命令并不是打包软件的最终解决方案。它只是给你一个没有历史记录的 zip 文件或 tar 球,仅此而已。

所以制作一个脚本来代替它。该脚本可以通过使用存档来获取一组干净的文件开始:

$ hg archive -r 1.0 foo-repo foo-1.0

然后运行钩子生成版本文件,将需要的文件复制到目录中,构建文档等。最后自己打包目录即可。

士气是获取文件的快照是打包软件的最小部分。

于 2011-12-09T07:35:30.793 回答
0

要自动运行 -I,您可以在 hgrc 中设置别名

[alias]
archive = archive -I .version

但是我不认为-我会按照您的想法去做。我对它的理解是它将存档的内容限制为仅与模式“.version”匹配的存储库中的内容,因为您在存储库中没有它是什么。

如果您在 .version 中想要的只是正在存档的修订的版本信息,那么您当前的钩子应该更改为post-archive钩子吗?

于 2011-12-08T13:34:47.970 回答