VCS中半被忽略的文件 - 是否支持此功能?

时间:2010-10-08 12:53:59

标签: eclipse svn version-control

我正在使用Eclipse和Subversion进行Java开发,我发现自己希望版本控制系统中有一个功能(据我所知,SVN中没有这个功能)。

我希望我的项目设置文件被忽略一半。更确切地说,我希望它们在VCS中可用,我希望在有人检查更改时发生合并,。我希望自己的更改被忽略,除非我非常明确地告诉系统采取它们。

这将允许我在我的本地配置中使用我的本地路径(和其他设置),而不会搞砸其他人的配置。但是,当我有一个实质性的改变,我仍然可以检查它(非常非常仔细,可能暂时删除我的其他本地更改)并将其交付给其他人。

现在,实际问题是:是否有支持此功能的VCS?或者可能是我在SVN中遗漏了什么?其他人如何在Eclipse中解决这个问题?

3 个答案:

答案 0 :(得分:1)

是的,Git通过 filter driver 支持该功能(一个clean script可以在提交时运行,允许您根据需要清除任何更改中的内容)。

alt text

但另一种方法是从不版本设置文件,只有版本:

  • 模板文件
  • 值文件
  • 一个脚本,能够使用值文件中的值替换模板文件中的变量,以生成实际(和“私有”,如“未版本化”)设置文件。

这样,您可以根据自己的内容对其进行修改,而无需进行更改。

答案 1 :(得分:0)

.gitignore for git,.hgignore for mercurial和文件路径和模式可以添加,不会被提交。在SVN中有类似的但我从来没有弄清楚如何自己使用它,但我的sysop确实从我这里设置了它。

答案 2 :(得分:0)

git支持

git update-index --assume-unchanged <file>

和补充

git update-index --no-assume-unchanged <file>

有关详细信息,请参阅http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-fileshttp://kernel.org/pub/software/scm/git/docs/git-update-index.html#_options