是否可以在 mercurial 中使用 .hgignore 来忽略从 idl 文件生成的头文件?
我在 VS2008 中有一个非常大的项目,默认情况下,midl 工具从同一文件夹中的 .idl 文件生成 .h 文件并具有相同的名称。自然,我不希望生成的文件受到控制。如果同一文件夹中有 xxx.idl 文件,是否可以将 mercurial 配置为忽略 xxx.h 文件?
我的问题还有其他解决方案吗?为这 100 个项目重命名文件需要很长时间,这不是我真正想要考虑的选择......
正如 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 可以做到。
是的,这是可能的。.hgignore 非常灵活,可以接受 glob 和正则表达式。你可能会逃脱:
syntax:glob
*.h
有关详细信息,请参见此处:http ://www.selenic.com/mercurial/hgignore.5.html 。