我有一个巨大的Mercurial存储库,其中包含一个名为“.version”的gerated文件。每次提交或更新完成时,都会使用挂钩自动生成此文件。
然而,这个文件是生成的而不是版本化的(这总是导致与其他项目开发人员的冲突),我希望它总是在我做的时打包
hg archive
关于hg存档的帮助页面告诉我们有一个选项
hg archive -I .version
但是有没有办法自动执行此包含?
我在有关hgrc文件的联机帮助页中找不到与此相关的选项。
有什么建议吗?
答案 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
钩子吗?