在subversion中对多个分支持有一个文件

时间:2010-09-28 13:37:43

标签: svn

我正在与一些其他开发人员合作开展多个分支的项目。在我的日常例程中,我经常不得不在分支之间进行测试以进行测试,因为我有数据库的本地副本,我倾向于拥有一个我从未检入过的web.config文件,因为它有我的数据库连接字符串加上我的首选设置。

我注意到在我的web.config文件(例如Web.config.r63)周围建立了一些额外的文件,我猜这些文件就像修订文件一样?最终我的工作文件夹损坏了,我不得不重新下载源到另一个工作文件夹才能恢复工作。

以这种方式阻挡文件并不断在分支之间移动导致颠覆问题?有没有更好的方法来实现我想要实现的目标(保留我的本地设置而不必将其提交给其他开发人员)?

4 个答案:

答案 0 :(得分:1)

  

我注意到在我的web.config文件(例如Web.config.r63)周围建立了一些额外的文件,我猜这些文件就像修订文件一样?最终我的工作文件夹损坏了,我不得不重新下载源到另一个工作文件夹才能恢复工作。

这听起来像是有冲突。如果其他人修改了包含本地更改的文件中的行,则会发生这种情况。

但是,冲突会在更新时创建非常明显的消息,并且可以在svn st轻松查看。他们需要明确地解决,但听起来你的情况并不太难。 解析它们将导致无法从该工作副本提交。

如果我的猜测是对的,你应该好好看看[SVN Book](http://svnbook.red-bean.com/),并阅读有关分支,合并,切换和冲突解决的几章。这不应该超过人们在下雨的星期天下午可以阅读的内容,并且应该让您更好地了解SVN实际上在做什么。

答案 1 :(得分:0)

最干净的方法可能是创建一个自己的项目,其中包含其他项目通用的配置/实用程序方法,并将其作为依赖项添加到相关的主项目中。因此,配置文件获得自己的版本跟踪。

答案 2 :(得分:0)

通过“分支之间的飞镖”,我认为你的意思是“转换”。而且你说你从来没有签入web.config,这意味着web.config一度被添加到SVN。 web.config.r63和其他.r *文件可能会弹出,因为你的web.config在分支之间是不同的,并且你最终会遇到冲突。我觉得很奇怪的是,当我收到这些文件时,我也会“丢失”有问题的文件,直到我解决冲突......当我解决冲突时,SVN会为我删除.r *文件。也许“损坏”意味着文件实际上已更改为包含冲突中两个修订版的内容。

最好从项目中取出web.config。

答案 3 :(得分:0)

一种方法可能是检入web.config.template并忽略web.config,这对每个开发者来说都是个人的。采用这种模式不会面临冲突。