对于如何使用Subversion处理.net项目文件有什么建议吗?

q5iwbnjs  于 2023-02-20  发布在  .NET
关注(0)|答案(7)|浏览(119)

我们刚刚从TFS切换到SVN,到目前为止,我们喜欢它。
不过,它确实引入了一些新问题。
一个是项目文件(特别是.vbproj)的处理方式。当然,.vbproj文件总是随着文件和引用的变化而变化,如果有几个人在合作,就会有冲突。
奇怪的是,在TFS中我们从来不需要处理这些冲突,特定的部分是自动处理的。现在在SVN中,我们在合并工具中处理XML,已经出现了一些错误。
你怎么处理的?有什么建议吗?

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

vxf3dgd4

vxf3dgd41#

在SVN中,*proj文件的主要问题是当人们将文件移动到不同的文件夹时,和/或当他们同时添加和删除名称相似的文件时,通常是在项目开始时。
一旦文件名和项目结构变得更加稳定,这种情况就不会再发生了。
另外,只包括.sln和.vbproj文件,不要包括不断变化的.suo文件,以减少麻烦。

lnxxn5zx

lnxxn5zx2#

如果多个开发人员向同一个项目添加文件,则会出现此问题。
当多个开发人员向同一个项目添加文件时,要解决冲突,通常可以使用“mine before their”选项来解决,它会将您的更改添加到一起。
经常提交和更新可以缓解此问题和其他合并问题。如果可能,请每天提交一次或更多次。不更新和提交的时间越长,您和您的团队将感到越痛苦。

gojuced7

gojuced73#

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

gt0wga4j

gt0wga4j4#

您确定您的项目文件没有被标记为二进制文件吗?如果您的.vbproj文件有一个属性svn:mime-type的值不是以'text/'开头Subversions将禁用自动合并.
几年前,当我们从VSS转换时,大多数项目文件都被标记为二进制。删除mime类型属性就消除了大多数冲突情况。

piwo6bdm

piwo6bdm5#

试试VisualSVN吧,它可以和TortoiseSVN一起管理所有的东西,还可以把Subversion的功能集成到Visual Studio中,它还可以为特定于用户的项目文件和二进制文件设置svn:ignore,以保存它们提交到仓库中的状态,这是值得的.

7xllpg7q

7xllpg7q6#

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

3duebb1j

3duebb1j7#

你需要一个像Tortoise这样的客户端,你偶尔会在自动合并中遇到冲突,但是我从来没有遇到过.vbproj,它们很容易用diff程序纠正。
我会使用_svn而不是.svn,有几个原因。我不记得为什么现在我的头了,但“。”确实让我很伤心。
确保你没有提交.user.suo文件,否则你会不断得到对方的VS设置的项目,恼人的!
您还可以获得VS的客户端加载项,如ankh和Visual SVN;我只用了一点ankh,但它有点慢,但这可能是我的电脑的错。

相关问题