嘿,想象一个带有log4j.properties
的简单webapp,它受版本控制。我无法将其添加到svn:ignore
,因为它是必填文件。如果我为开发进行自定义更改并且我不想提交它们,我必须注意意外提交。对于一个文件,它很容易处理,有3个或更多文件,它变得令人毛骨悚然。
有没有办法从svn提交中暂时禁用这些文件?它的简单提交?我正在使用svn
和subclipse
。
答案 0 :(得分:10)
处理这种情况的典型方法是执行以下操作:
通过这种方式,您将获得一个新的副本,在部署期间,您可以将文件从模板复制回真实文件。
这样你就不会冒这个文件提交错误更改的风险,至少对于其他版本控制系统,你不会冒险检查文件并忘记锁定。
Subversion中没有办法表明文件只是提交第一次的事物类型,所以当你将它添加到你的存储库时,你告诉Subversion跟踪该文件中的变化。除非您手动确保(或编写工具或更改工具)永不提交对此文件的更改,否则Subversion将无法帮助您。
答案 1 :(得分:7)
我解决这个问题的方法是在我们的svn服务器上创建一个新的(有点虚拟)用户并将他添加到所有项目中,让我们称他为Locker。 所以我在配置文件上设置一个锁,作为用户Locker,不应该在代码库中修改。
Etvoilà!这些文件不再被错误提交,但是如果生产系统需要对配置文件进行更新,则任何团队成员都可以强制执行锁定,或者知道Lockers凭据的人员可以更新和重新锁定文件!
也许这不是每个人的解决方案,一些公司法规可能禁止使用代理用户。
答案 2 :(得分:1)
我这样做的方法是让文件名为log4j.properties.server,然后我设置了我的部署脚本来复制.server文件而不是普通文件。