在进行subversion提交之前,如何清理源代码?

时间:2009-07-25 12:43:07

标签: svn

有时,当您使用本地副本时,可能存储了您不想提交的配置设置,忽略该文件是不切实际的,因为它还包含特定于应用程序的设置。

例如,Django settings.py文件包含数据库连接详细信息和项目设置,例如要加载的应用程序。

有没有办法在提交这些类型的文件时对其进行清理?有没有办法在结账时恢复自己的本地设置?

我目前的环境是Linux和命令行SubVersion

3 个答案:

答案 0 :(得分:8)

解决此问题的一种方法是将“标准”配置文件完全保存在不同的文件中,例如settings.py.example。在您的工作副本中,您可以将settings.py.example复制到settings.py并使用该副本。如果您需要更改标准配置,请更改settings.py.example并将其签入。否则,您无需更改它,并且修改后的settings.py甚至不在版本控制中它没有被注意到(您可以将它包含在svn:ignore属性中以使其更安静)。

答案 1 :(得分:2)

我使用ignore-on-commit更改列表。

这个似乎特定于TortoiseSVN。可能无法在命令行上使用。

答案 2 :(得分:2)

以下是我如何避免此问题。通常我有开发,UAT(用户验收测试)和生产配置。通常它们并排存在于同一目录中(或者可能是单独的dev / UAT / prod目录)。这些都被签入并像源代码一样处理。因此,dev / UAT / prod数据库配置(例如)可以单独管理。

开发指向开发配置(但是你选择这样做)。自动化测试将使用dev或UAT配置(取决于项目等)。

此外,我提供了一种覆盖方法,通过设置我的系统来检查我的主目录之前来加载这些配置,我可以提供真正个人的覆盖。通常,重写配置将仅指定变量的子集,因此dev / UAT / prod配置可以更改和增长,并且我的个人配置不需要跟踪更改。我的个人覆盖不是通过SVN或类似的控制,因为它特定于我在那个特定时间所做的事情。