将Subversion与.net项目文件一起使用的任何提示



我们刚刚从TFS切换到SVN,到目前为止我们很喜欢它。

然而,它确实引入了一些新问题。

一个是处理项目文件(特别是.vbproj)的方式。.vbproj文件当然总是随着文件和引用的更改而更改,如果有几个人在协作,就会发生冲突。

奇怪的是,在TFS中,我们从未处理过管理这些冲突,而那个特定的部分却被自动处理了。现在在SVN中,我们正在处理合并工具中的XML,并且已经出现了一些错误。

你是怎么处理的?有什么建议吗?

编辑:顺便说一下,我们使用的是VisualSVN。

在SVN中,*proj文件的主要问题是当人们将文件移动到不同的文件夹时,和/或当他们同时添加和删除名称相似的文件时,通常是在项目开始时。

一旦文件名和项目结构变得更加稳定,这种情况就不会再发生了。

此外,只包括.sln和.vbproj文件,不包括不断变化的.soo文件,以减少麻烦。

如果多个开发人员将文件添加到同一项目中,就会出现此特定问题。

要解决多个开发人员向同一项目添加文件时的冲突,通常可以通过使用"先挖掘后挖掘"选项来解决。它会将您的两个更改添加到一起。

通过经常提交和更新,可以缓解此问题和其他合并问题。如果可能的话,每天提交一次或多次。你不更新和承诺的时间越长,你和你的团队就会感到越痛苦。

我们通常要做的是一次更新*proj文件+添加或移动文件存根+提交。使操作尽可能原子化,并使持续时间尽可能短。

您确定您的项目文件没有标记为二进制文件吗?如果.vbproj文件的svn:mime类型属性的值不是以"text/"开头,则将禁用子版本自动合并。

几年前,当我们从VSS转换时,大多数项目文件都标记为二进制文件。删除mime类型属性删除了大多数冲突情况。

尝试VisualSVN。它与TortoiseSVN协同工作,为您管理一切,并将Subversion功能与Visual Studio集成。它还为用户特定的项目文件和二进制文件设置svn:ignore,以保存提交到存储库的文件。值得付出努力。

尝试AnkhSVN。对版本2非常满意。开箱即用,它忽略了.soo文件等,与VS2008完美配合,而且是免费的!!

您需要一个像Tortoise这样的体面客户。您偶尔会在自动合并中遇到冲突,但我从未在.vbproj中遇到过冲突,而且使用diff程序可以很容易地纠正这些冲突。

出于几个原因,我会使用_svn而不是.svn。我现在已经记不清为什么了,但是"quot;确实让我很伤心。

确保你没有提交.user.suo文件,否则你会不断地获得项目的VS设置,很烦人!

您还可以获得VS的客户端插件,如ankh和Visual SVN;我只使用了一段时间,但速度有点慢,但那可能是我电脑的错。

相关内容

最新更新