mercurial:忽略从.idl生成的.h

时间:2011-05-13 09:08:44

标签: mercurial idl hgignore

是否可以在mercurial中使用.hgignore来忽略从idl文件生成的头文件?

我在VS2008中有一个非常大的项目,默认情况下,midl工具从同一文件夹中的.idl文件生成.h文件并使用相同的名称。当然,我不希望生成的文件受到控制。如果同一文件夹中有xxx.idl文件,是否可以将mercurial配置为忽略xxx.h文件?

我的问题还有其他解决办法吗?为那些~100个项目重命名文件需要很长时间,而且我不想考虑这个选项......

2 个答案:

答案 0 :(得分:2)

正如stevevls指出的那样,您可以忽略所有.h文件,然后手动添加您想要跟踪的.h文件(hg add覆盖忽略)。

另一种选择是在.hg/hgrc

中加入类似的内容
[ui]
ignore.generated = .hgignore-generated

然后手动或使用钩子创建该文件,以便列出所有生成的.h文件。您可以选择跟踪或取消跟踪该文件。在unix上,这将自动创建该文件:

find . -name '*.idl' | sed 's/\.idl$/.h/ >| .hgignore-generated

我不知道如何在Windows上编写脚本,但是想象powershell可以做到这一点。

答案 1 :(得分:0)

是的,这是可能的。 .hgignore非常灵活,接受全球和正则表达。你可能会逃脱:

syntax:glob
*.h

有关详情,请参阅此处:http://www.selenic.com/mercurial/hgignore.5.html