我们刚刚从TFS切换到SVN,到目前为止,我们喜欢它。不过,它确实引入了一些新问题。一个是项目文件(特别是.vbproj)的处理方式。当然,.vbproj文件总是随着文件和引用的变化而变化,如果有几个人在合作,就会有冲突。奇怪的是,在TFS中我们从来不需要处理这些冲突,特定的部分是自动处理的。现在在SVN中,我们在合并工具中处理XML,已经出现了一些错误。你怎么处理的?有什么建议吗?
**编辑:**顺便说一下,我们使用的是VisualSVN。
vxf3dgd41#
在SVN中,*proj文件的主要问题是当人们将文件移动到不同的文件夹时,和/或当他们同时添加和删除名称相似的文件时,通常是在项目开始时。一旦文件名和项目结构变得更加稳定,这种情况就不会再发生了。另外,只包括.sln和.vbproj文件,不要包括不断变化的.suo文件,以减少麻烦。
lnxxn5zx2#
如果多个开发人员向同一个项目添加文件,则会出现此问题。当多个开发人员向同一个项目添加文件时,要解决冲突,通常可以使用“mine before their”选项来解决,它会将您的更改添加到一起。经常提交和更新可以缓解此问题和其他合并问题。如果可能,请每天提交一次或更多次。不更新和提交的时间越长,您和您的团队将感到越痛苦。
gojuced73#
我们通常做的是同时更新 * 项目文件+添加或移动文件存根+提交。使操作原子化并尽可能缩短持续时间。
gt0wga4j4#
您确定您的项目文件没有被标记为二进制文件吗?如果您的.vbproj文件有一个属性svn:mime-type的值不是以'text/'开头Subversions将禁用自动合并.几年前,当我们从VSS转换时,大多数项目文件都被标记为二进制。删除mime类型属性就消除了大多数冲突情况。
piwo6bdm5#
试试VisualSVN吧,它可以和TortoiseSVN一起管理所有的东西,还可以把Subversion的功能集成到Visual Studio中,它还可以为特定于用户的项目文件和二进制文件设置svn:ignore,以保存它们提交到仓库中的状态,这是值得的.
7xllpg7q6#
试试AnkhSVN。对版本2非常满意。开箱即用,它忽略了.suo文件等,与VS 2008完美配合,而且是免费的!!
3duebb1j7#
你需要一个像Tortoise这样的客户端,你偶尔会在自动合并中遇到冲突,但是我从来没有遇到过.vbproj,它们很容易用diff程序纠正。我会使用_svn而不是.svn,有几个原因。我不记得为什么现在我的头了,但“。”确实让我很伤心。确保你没有提交.user和.suo文件,否则你会不断得到对方的VS设置的项目,恼人的!您还可以获得VS的客户端加载项,如ankh和Visual SVN;我只用了一点ankh,但它有点慢,但这可能是我的电脑的错。
.vbproj
_svn
.svn
.user
.suo
7条答案
按热度按时间vxf3dgd41#
在SVN中,*proj文件的主要问题是当人们将文件移动到不同的文件夹时,和/或当他们同时添加和删除名称相似的文件时,通常是在项目开始时。
一旦文件名和项目结构变得更加稳定,这种情况就不会再发生了。
另外,只包括.sln和.vbproj文件,不要包括不断变化的.suo文件,以减少麻烦。
lnxxn5zx2#
如果多个开发人员向同一个项目添加文件,则会出现此问题。
当多个开发人员向同一个项目添加文件时,要解决冲突,通常可以使用“mine before their”选项来解决,它会将您的更改添加到一起。
经常提交和更新可以缓解此问题和其他合并问题。如果可能,请每天提交一次或更多次。不更新和提交的时间越长,您和您的团队将感到越痛苦。
gojuced73#
我们通常做的是同时更新 * 项目文件+添加或移动文件存根+提交。使操作原子化并尽可能缩短持续时间。
gt0wga4j4#
您确定您的项目文件没有被标记为二进制文件吗?如果您的.vbproj文件有一个属性svn:mime-type的值不是以'text/'开头Subversions将禁用自动合并.
几年前,当我们从VSS转换时,大多数项目文件都被标记为二进制。删除mime类型属性就消除了大多数冲突情况。
piwo6bdm5#
试试VisualSVN吧,它可以和TortoiseSVN一起管理所有的东西,还可以把Subversion的功能集成到Visual Studio中,它还可以为特定于用户的项目文件和二进制文件设置svn:ignore,以保存它们提交到仓库中的状态,这是值得的.
7xllpg7q6#
试试AnkhSVN。对版本2非常满意。开箱即用,它忽略了.suo文件等,与VS 2008完美配合,而且是免费的!!
3duebb1j7#
你需要一个像Tortoise这样的客户端,你偶尔会在自动合并中遇到冲突,但是我从来没有遇到过
.vbproj
,它们很容易用diff程序纠正。我会使用
_svn
而不是.svn
,有几个原因。我不记得为什么现在我的头了,但“。”确实让我很伤心。确保你没有提交
.user
和.suo
文件,否则你会不断得到对方的VS设置的项目,恼人的!您还可以获得VS的客户端加载项,如ankh和Visual SVN;我只用了一点ankh,但它有点慢,但这可能是我的电脑的错。