在Subversion中的合并比在Team Foundation System中更难? [英] Are merges in subversion more difficult than in Team Foundation System?

查看:126
本文介绍了在Subversion中的合并比在Team Foundation System中更难?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我习惯使用TFS,我的公司现在切换到一个新项目的SVN(主要原因是更好地在同一个源代码控制下合并我们的java& .Net代码库)。

I'm used to using TFS, and my company is now switching to SVN for a new project (the main reason is to better incorporate our java & .Net codebase under the same source control).

我得了解subversion中的合并很难(Jeff 提到这个在他最新的播客)。

I am given to understand merges in subversion are hard (Jeff mentioned this in his latest podcast).


  1. 与TFS相比,subversion有什么问题?

  2. 如何减轻? (带有subversion的边界,或像Jeff建议的,选择另一个源代码控制)

TFS提供的一个强大的特性是其自动合并功能(在TFS2008中大大改进,虽然不完美)。大多数合并不需要用户的任何操作。在subversion中是否一样?

One strong feature that TFS offers is its automerge capabilities (greatly improved in TFS2008, although not perfect yet). Most merges don't require any action by the user. Is that the same in subversion?

更新 - 这里接受的答案只能来自那些在 TFS subversion ,并且可以实际比较&对比两者。知道合并在颠覆是好的或TFS是垃圾并不真正帮助我决定,因为它的主观。如果你可以与其他选择,比较,伟大的 - 这是有帮助的。但我的焦点是subversion vs TFS。

Update - an accepted answer here can only come from someone who has experienced big merges in both TFS and subversion, and can actually compare & contrast the two. Knowing that "merge in subversion is good" or "TFS is crap" doesn't really help me decide, because it's subjectve. If you can compare to other alternatives, great - it is helpful. But my focus is subversion vs TFS.

我感兴趣的目标团队规模是6-30个活跃的开发人员。

The target team size I'm interested in is 6-30 active developers.

更新2 - 是否有任何人会使SVN中的合并事实上比TFS更容易(考虑工具)?

Update 2 - is there anyone that would make the case that merges in SVN are in fact easier than in TFS (taking tooling into consideration)?

推荐答案

我在TFS和Subversion中做了大的合并。 TFS代码库是SharePoint应用程序的1.5 - 2.0分支,生产更改合并到2.0代码库中。 SVN合并是一个新功能从一个分支到基线源的合并。

I have done big merges in both TFS and Subversion. The TFS codebase was a 1.5->2.0 branch of a SharePoint application with production changes merged into the 2.0 codebase. The SVN merge was a merge of new features from a fork into the baseline source.

你已经熟悉TFS,所以我给你的细节,除了说变更集和TFS工具使该过程非常简单。由于取消删除问题,我们确实得到了TF14087错误,但很快得到解决。

You are already familiar with TFS so I'll spare you the details, other than to say that the changesets and TFS tools made the process very simple. We did get the TF14087 error due to an undelete issue but it was quickly resolved.

在SVN中,这个过程有点手动,因为我们必须定位特定版本的SVN中的文件,SVN对文件做了一个diffmerge,这不允许我们在TFS中的变更集(例如不是所有更改在ChangesetA,但所有更改在ChangesetB)。我们当时没有合并跟踪,我们的源代码树也不支持SVN合并跟踪的最佳实践。

In SVN, the process was quite a bit more manual because we had to target specific versions of the files in SVN, and SVN did a diffmerge on files which did not allow us the flexibility we experienced with changesets in TFS (cases such as "not all changes in ChangesetA but all changes in ChangesetB"). We didn't have merge tracking at the time, nor was our source tree designed to support the best practices of SVN merge tracking.

我想现在,使用SVN中的合并跟踪,假设您遵循CollabNet概述的最佳做法,该过程将会更简单一些。但请记住,TFS是一个很大的产品,有非常好的GUI工具来管理你的源代码,而SVN更多的依赖于命令行,所以如果你习惯于使用GUI,这会使事情变得复杂。

I think now, with merge tracking in SVN, the process would be quite a bit simpler assuming you follow the best practices outlined by CollabNet. But bear in mind that TFS is a big product with really great GUI tools for managing your source, while SVN depends more heavily on the command-line, so this complicates things if you're used to working with the GUI.

这篇关于在Subversion中的合并比在Team Foundation System中更难?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆