是否可以在mercurial中使用.hgignore来忽略从idl文件生成的头文件?
我在VS2008中有一个非常大的项目,默认情况下,midl工具从同一文件夹中的.idl文件生成.h文件并使用相同的名称。当然,我不希望生成的文件受到控制。如果同一文件夹中有xxx.idl文件,是否可以将mercurial配置为忽略xxx.h文件?
我的问题还有其他解决办法吗?为那些~100个项目重命名文件需要很长时间,而且我不想考虑这个选项......
答案 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。