2009-12-21 75 views
2

我有一个基于Web的应用程序,我想通过使用公共svn主机来开源,问题是该项目包含配置文件,我宁愿保留一些私有的值。处理这个问题的最好方法是什么?SVN私人文件

理想情况下,我希望能够导入修订版,而不必每次都用一个文件剥离私有数据替换文件。

回答

6

维护两个配置文件:

  • 一个命名,比如说,config.php
  • 另一个名为config.dist.php

config.php是您的生活设置文件的形式存储您的运行时配置的私人数据,路径等等。

config.dist.php是相同的文件,但具有默认或虚拟配置设置。

每当您的项目获得新的配置设置时,都会在您的实时config.php文件中对其进行测试,然后将其复制到.dist文件中,并为其指定一个虚拟值。

将您的版本控制设置为忽略config.php

这样,您永远不会在存储库中拥有私人数据,但签出该项目的人有一个默认配置文件可立即启动。

4

用户特定的配置文件不应该是FOSS项目源的一部分。如果您想对它们进行版本控制,请将它们保存在单独的私人存储库中。

+0

为什么?您可以为文件文件提供一组具有密码或数据库凭据的用户样本以用于测试目的。 – cimnine 2009-12-21 13:17:27

+0

在这种情况下,它不是用户特定的 - 我没有说配置文件不应该是项目的一部分。 – 2009-12-21 13:24:18