有关使用.net项目文件的Subversion的任何提示?

时间:2008-11-04 21:31:14

标签: .net svn version-control vb.net

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

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

一种是处理项目文件(特别是.vbproj)的方式。 .vbproj文件当然总是随着文件和引用的更改而改变,如果有几个人正在进行协作,则会出现冲突。

奇怪的是,在TFS中,我们从来没有必要处理这些冲突的处理,特定的部分是自动处理的。现在在SVN中,我们在合并工具中使用XML,并且已经出现了一些错误。

你怎么处理这个?有什么提示吗?

编辑:顺便说一下,我们正在使用VisualSVN。

7 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

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

要解决多个开发人员将文件添加到同一项目时的冲突,通常可以通过使用“我们之前的”选项来解决问题。它会将您的所有更改添加到一起。

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

您确定您的项目文件未标记为二进制文件吗?如果您的.vbproj文件具有svn:mime-type属性,其值不以'text /'开头,则会禁用自动合并。

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

答案 4 :(得分:1)

试试VisualSVN。它与TortoiseSVN结合使用,可以为您管理所有内容,并将Subversion功能与​​Visual Studio集成。它还为用户特定的项目文件和二进制文件设置svn:ignore,以保存它们被提交到存储库。值得努力。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

你需要一个像Toroise这样体面的客户。你偶尔会在自动合并中遇到冲突,但我从来没有使用.vbproj,并且他们很容易通过diff程序纠正。

id使用_svn而不是.svn,由于几个原因,我不记得为什么现在我的头顶但是“。”确实让我感到悲伤。

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

你也可以获得客户端为VS添加ins像ankh和visual svn,我只使用了ankh一点但它有点慢,但这可能是我的PC故障。