标记在我提交时排除文件的一部分?

时间:2010-09-24 11:05:44

标签: c# svn app-config

我们正在同一个项目中与两个不同的团队合作。在配置文件App.config中,我们有两个连接字符串,我们的连接设置连接到我们的数据库,第二个团队有另一个数据库,连接字符串不同。我必须注释第二个连接字符串并取消注释第一个连接字符串。如果连接字符串正确(如果另一个团队没有提交此文件),我必须始终检查此文件。这有点无聊......

此配置文件包含我们共同使用的一些其他配置键。我的目标是(在配置文件中使用或稍微设置)告诉SVN在我提交时不包含这部分文件。

有可能吗?

3 个答案:

答案 0 :(得分:2)

在我见过的任何版本跟踪系统中都无法进行部分文件提交。但是,如果您使用的是VS2010,则可以查看this之类的内容。

答案 1 :(得分:2)

您可以使用configSource属性让ASP.NET从外部文件而不是主配置文件中读取配置。这样你就可以拥有一个包含连接字符串的dirty和ignore-on-commit文件,并且在需要更改时仍然能够提交主配置文件。

答案 2 :(得分:1)

我建议团队中的每个人备份配置文件,并让某人将SVN中的文件重命名为template.[original-name]并提交。

然后,让每个人都恢复自己的配置文件并输入包含该文件的目录的svn:ignore Subversion属性,并提交该目录以使svn:ignore版本控制适合所有人并拥有之后他们会更新他们的工作副本。

这样,每个团队成员都可以有不同的配置。

配置和用户/系统特定文件不应受版本控制。

另见http://svnbook.red-bean.com/nightly/en/svn.advanced.props.special.ignore.html

编辑:要真正回答您的问题,David是正确的,部分文件提交是不可能的(通常也没有意义)。它不是Subversion的预期工作流程。