我们在窑上使用草龟 Mercurial 。在我的vs 2010 C#项目中,存储库中有一些文件,但是我希望草龟在提交时忽略它们。
例如,例如,在登录屏幕中,我可以对用户ID(用于测试的密码)进行硬编码。我真的不希望在提交过程中考虑此文件。我了解.hgignore文件,但这确实适用于不属于仓库的文件。乌龟hg到的任何技巧都会忽略 repo 一部分的文件吗? (因此它们在提交期间不会显示为已修改(M)。)谢谢
最佳答案
对于此类事情,我总是将.hgignore和BeforeBuild
(在.csproj文件中)组合使用。
在我的一个宠物项目中,我具有以下设置:App.config
包含我的实际硬编码用户ID和密码以进行测试。App.config.example
是相同的,但是带有伪数据,例如“dummy_user”和“dummy_pw”。App.config
是而不是存储库的部分,和被忽略(在.hgignore
中)。App.config.example
是存储库的一部分。
然后,在解决方案的.csproj文件的BeforeBuild
目标中具有以下内容:
<Target Name="BeforeBuild">
<Copy
Condition="!Exists('App.config')"
SourceFiles="App.config.example"
DestinationFiles="App.config"/>
</Target>
所有这些共同具有以下效果:
.example
文件自动创建(然后,他可以将自己的实际登录数据放入新创建的App.config
文件中)。 App.config
),则在构建时不会覆盖它,因为仅当App.config
确实而不是时,才会发生BeforeBuild事件关于mercurial - 如何使用草龟hg "that are part of the repository"忽略窑炉/ Mercurial 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7351076/