Chr*_*der 7 svn version-control configuration
Subversion是更新我们服务器上的Web应用程序的好方法.通过简单的svn update
所有更改文件得到......好吧,改变了.
除了无处不在的配置文件,例如config.php
包含数据库访问配置,服务器路径等的配置文件,因此在我的本地开发系统和远程服务器上是不同的.
使用该update
命令,服务器上修改的文件不会被覆盖,但如果我在本地更改文件并提交它,服务器将获取错误的配置文件.
但是我也不想设置svn:ignore
属性,因为配置文件属于项目.
是否有Subversion机制可以让我轻松处理这些类型的文件?或者是解决此问题的唯一方法是在配置文件中进行系统切换,这将决定执行系统并相应地设置配置?
我发现最简单的方法是打开机器的主机名。我有一个 .ini 文件,其中包含一个常规部分,该部分也针对生产、测试和开发系统覆盖了该部分。
[general]
info=misc
db.password=secret
db.host=localhost
[production : general]
info=only on production system
db.password=secret1
[testing : general]
info=only on test system
db.password=secret2
[dev : general]
info=only on dev system
db.password=secret3
Run Code Online (Sandbox Code Playgroud)
因此 dev:db.password == 'secret3',但 dev:db.host == 'localhost',来自原始的 'general' 组。
“生产”、“测试”和“开发”可以是计算机主机名,或者它们是从配置控制脚本中的某些其他机制设置的别名。