在hg存档上自动包含生成的文件

时间:2011-12-08 13:20:55

标签: mercurial generated

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

然而,这个文件是生成的而不是版本化的(这总是导致与其他项目开发人员的冲突),我希望它总是在我做的时打包

hg archive

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

hg archive -I .version

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

我在有关hgrc文件的联机帮助页中找不到与此相关的选项。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

归档命令并不是打包软件的最终解决方案。它只是给你一个没有历史的zip文件或tar球,就是这样。

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

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

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

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

答案 1 :(得分:0)

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

[alias]
archive = archive -I .version

然而我不认为 - 我做你认为它做的事。我对它的理解是它只将存档的内容限制在repo中与模式“.version”匹配的东西,因为你在repo中没有它就没有了。

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