从Mercurial中的提交中排除项目配置文件

时间:2010-03-04 00:29:32

标签: mercurial

我有一个需要一些配置文件的项目。我想在存储库中保留默认配置文件。但是,我希望不必为每次提交都指定-X标志。是否有标准方法将一组修订文件标记为永久性地从提交中排除?

2 个答案:

答案 0 :(得分:4)

有趣的问题,我希望你能得到更好的答案。面对类似的问题,我做了以下几点:

  • 重命名配置文件,例如,而不是noweb.cfg我有noweb.cfg.default。此文件很少更改并保持在版本控制之下。

  • 实际配置文件noweb.cfg可能会经常更改,但会放在.hgignore文件中,因此永远不会提交。

  • 根据需要,我有一个特殊的Makefile目标,可以从*.cfg重建*.cfg.default

此解决方案并不理想,因为.cfg更改时.cfg.default文件中的更改会丢失。原则上你可以用diff3或一些更复杂的合并工具解决这个问题,但我从来没有精力充沛地去那里。

答案 1 :(得分:3)

您可以使用.hgrc中的(备受诟病的)默认值部分:

  [defaults]
  commit = -X thefileyouwanttoexclude

如果您可以重新训练手指,首选方法是使用别名:

 [alias]
  cmt = commit -X thefileyouwanttoexclude

然后你开始使用hg cmt而不是提交。

相关问题