svn / subversion:在新签出时获取所有文件,但随后从更新/签入中排除某些文件

时间:2009-08-04 20:22:25

标签: file svn svn-checkout

重新结帐后,我想获取所有文件, 特别是这个文件:etc / config.ini

但是,一旦我修改了etc / config.ini,我不希望它与“svn commit ...”一起提交,也不应该在“svn up”上恢复。

这将允许您在初始签出时获得默认值(约定优于配置),但在配置之后,您不希望将这些“本地”配置文件提交到svn。

3 个答案:

答案 0 :(得分:5)

执行此操作的最佳方法是不直接对文件进行版本控制。

避免此问题的一种常见方法是在版本控制下使用config.ini.sample(或类似的内容),然后在config.ini属性中忽略svn:ignore

然后,在结帐后,将config.ini.sample复制到config.ini,您就可以开始了。这样您还可以对模板配置文件进行版本控制。

答案 1 :(得分:1)

如果您使用TortoiseSVN和/或VisualSVN(> = 1.5),则可以将这些文件移至changelist 'ignore-on-commit'。这会导致文件显示在提交对话框的单独部分中,并且永远不会自动选择提交。

显然这是TortoiseSVN特有的解决方案。

答案 2 :(得分:1)

Jason已经触及了普遍接受的解决方案(由SVN人员自己推荐的解决方案),但如果您使用TortoiseSVN作为客户端,还有另一种选择。当您进入提交对话框时,右键单击您不想提交的文件,然后选择添加到更改列表 - >忽略提交。每次进行提交时它仍会显示在提交对话框中,但默认为未选中,因此除非您明确选中该框,否则不会实际提交。同样,只对Tortoise有用,所以如果你使用同一个WC与非Tortoise客户端,你会不小心提交它。