SVN与Team Foundation Server的比较


77

几个月前,我的团队将源代码控制从Visual SourceSafe切换到了Apache Subversion,我们从此不再快乐。

最近,我一直在研究Team Foundation Server,至少从表面上看,它似乎非常令人印象深刻。与Visual Studio的集成非常紧密,并且为DBA,测试人员,项目经理等提供了许多出色的工具。

这两种产品之间最明显的区别是价格。很难击败Apache Subversion(免费)。Team Foundation Server非常昂贵,因此额外的功能实际上必须让Subversion脱颖而出。

  • 有人有实践经验吗?
  • 他们如何比较?
  • Team Foundation Server实际值得花费吗?

Answers:


46

我最近在CodePlex加入了一个开源项目。他们使用TFS进行源代码控制,我不得不说这是绝对宏伟的。到目前为止,我对此印象深刻。我是IDE集成的忠实拥护者,它对代码进行分支和标记非常容易。如果已经正确配置了所有内容,则向源代码管理添加解决方案就像单击两次。

现在。值得高昂的价格吗?我不这么认为。在CodePlex上进行项目的好处是,它使我获得了所需的TFS经验,以备日后在某个地方使用它时使用。如果您希望对源代码管理进行良好的IDE集成,请获取VisualSVN集成包。要获得许多相同的功能(在非域计算机BTW上免费),这是一笔便宜得多的投资。


2
内置于tfs中,不是很好,即使您使用它,我也建议同时运行巡航控制,以便实际上可以独立于源代码控制。(即2005年TFS,不会建VS 2008解决方案)
DevelopingChris

1
@ChanChan:TFS 2008的生成管理还不错。不过,2005年的构建管理是一个笑话。
戴夫·马克尔

11
我建议使用AnkhSVN,它是用于Subversion的一个不错的源代码控制插件,其工作方式与使用tfs完全相同...除了workitems之类的东西(当然这不是Subversion的一部分)之外。
galaktor

1
@Jeremy-您在TFS中使用了什么功能来标记存储库(引用:“ ...分支和标记代码有多么容易。”)?
罗素

13
与SVN相比,TFS源代码控制工具太可怕了,除了最基本的事情之外,您几乎不能做其他任何事情,而不必使用未集成在其中的“ powertools”(回滚更改是“ power”事情? VS。每个人都说TFS很棒,并且一切,从我所看到的情况来看,这对于服务器来说似乎是正确的,但是客户端工具太可怕了。
爱德华多·斯科兹

87

对于我来说,这是两者之间最大的区别,并且我都使用了两者:

1)TFS与进行开发的“ Visual Studio方式”紧密相关。 这并不是说TFS与VS IDE紧密结合,这意味着TFS努力保持Visual SourceSafe的熟悉的“签入” /“签出”范式,即使它确实不再是合适的模型也是如此。当您的开发人员可能会花时间与网络断开连接时,Subversion的“提交” /“更新”的概念要现实得多。TFS希望开发人员始终连接到服务器。那是一个很大的缺点。我个人认为,由于与Visual Studio的紧密集成,TFS在服务器和本地磁盘上文件的组织方式上不够透明。甚至TFS的更大支持者也承认,它的连接的签入/签出模型对于不工作的开发人员来说不是一个引人注目的选择。

2)费用。 那些说TFS并不昂贵的人可能是很小的商店,或者不符合TFS的许可条款。您需要做的所有事情都需要获得客户端访问许可证。您是只负责管理错误的经理吗?您需要约250美元的CAL(零售TFS许可证中包含5个)。只是想报告问题的业务用户?250美元的CAL。开发人员?250美元(除非他们拥有MSDN,否则包含在其中)。服务器?500美元(如果您有MSDN,则包括在内)。当然,向您出售TFS副本的人会告诉您,其他用户可以免费使用工作项目跟踪,但是这些其他用户只能看到他们自己创建的工作项目,而不能看到整个团队的工作项目,在面向团队的敏捷环境中太有用了。当您拥有一个中型组织时,所有这些加在一起,而当许多一流的产品(如SVN和CruiseControl.net)的增量成本为$ 0时,很难证明这一点。(为公平起见,尽管如此,我仍在等待非常好的OSS问题跟踪器)

3)项目结构。 在项目数量较少的大型团队中,TFS可能会运作良好。如果您内部有许多小型的,未连接的或松散连接的业务线应用程序,则TFS的结构可能开始变得霸道。一方面,无法定义项目本身的分类法-您可以在项目内设置“区域”,但是所有问题和文档都在“项目”的基本上下文中一起跟踪。创建新的“项目”通常很耗时,并且对于小小的努力来说是多余的。当然,SVN没有任何种类,因为它仅专注于源代码控制,但是如果您需要良好的小项目灵活性,则SVN和其他问题跟踪工具可能是更好的选择。

我认为,这是值得的:

  • 对于拥有大型,预算充足项目的大型团队,在Microsoft商店中,开发人员几乎完全在IDE中工作,因此TFS是赢家。当您需要在项目中集中执行策略时,TFS也会胜出。

  • 对于许多小型团队而言,其中有许多不同的小型项目,或者是成本问题所在的商店,或者团队的开发人员无法从源代码控制中脱身,因此可以选择SVN。


2
这正是我一直在寻找的信息,谢谢。
EnocNRoll-AnandaGopal Pardue,2009年

...“当您需要在项目中集中执行策略时,TFS也将赢得胜利。” +1。当与商店中不同技能的开发人员打交道时,这非常巨大
StingyJack 2010年

1
“仍在等待一个非常好的OSS问题跟踪器”
+1-

9
随着Visual Studio 2010的发布,MSFT已在MSDN中包括了客户端和服务器许可证。因此,如果您对所有开发人员都有MSDN,那么他们将免费,而TFS服务器是免费的。此外,业务用户不再需要许可证即可创建工作项或查看他们创建的工作项。如果您最多有5个要访问TFS的业务用户,则可以购买零售价为500美元的TFS服务器许可证,该许可证允许5个用户没有CAL。但是,额外的非MSDN用户将为您每个CAL花费300美元。
MrHinsh-Martin Hinshelwood

3)项目结构:在TFS 2010中,您可以避免小团队的那种讨厌。只需使用基本安装进行安装,即可为工作项提供没有Sharepoint的版本控制...
MrHinsh-Martin Hinshelwood 2010年

48

令我感到惊讶的是,过去曾经使用Subversion的人甚至对TFS源代码控制有需求。

我在TFS(2005)上的经历非常糟糕。我已经阅读了各种白皮书和指南,以了解如何为各种开发需求正确构建源代码。

在简单的情况下,我们有一个主干开发干线,还有一个集成分支,从中集成更改并从中进行部署,还有一个发布分支来跟踪过去的发布,这种情况非常普遍和直接,但是我们一直在遇到问题。

我与TFS的主要问题:

  • 与颠覆相比,合并是一个痛苦。
  • 有未修复的错误。我遇到了有关重命名/合并的知识,这已经有2年了,而修复程序永远不会在2005年发布。我们最终将分支移动到“损坏的”文件夹,而现在忽略了它。
  • 在文件上放置只读锁很麻烦。谁说我需要在TFS内编辑批处理文件和构建脚本,以便它可以“签出”给我?Subversion知道哪些文件已更改。那里没有只读锁。
  • 速度。TFS在WAN上速度很慢,并且只有在我将VPN接入我的工作计算机时,它才真正可用,这使我的开发经验总体上非常缓慢。
  • 缺少良好的命令行和资源管理器集成。IDE集成非常适合日常Get-Latest,添加文件和签入,但是当您需要在多个项目中进行操作时,可以使用好的工具就很好。在有人跳下我的嗓子之前,声称tf.exe可以正常工作……这实际上不是cmd线工具。例如,签入代码不应弹出模式对话框。

...清单继续。我认为,即使进行了所有的集成,也有许多免费的替代方案,它们的优势更为明显。


5
我们因进行分支和合并而获得了TFS,这真是一场噩梦。目前,我们正在寻找SVN。
Brian MacKay

“与颠覆相比,合并是一个痛苦。”-您为什么这么认为呢?我从使用AnkhSVN和TortoiseSVN的TFS切换到SVN,这一切都令人不快。您能指出两个模块之间的概念差异吗?
Slavo

1
SVN对于可以安全自动合并的内容似乎要聪明得多,这通常是我必须处理的合并类型。例如,有2个用户将文件添加到同一项目文件中。如果2个人在不同区域的文件中添加方法,则自动合并也可以正常工作。如果您修改相同的位置,则必须使用合并工具。根据您使用的合并工具,此操作可能很困难或中等(如果您具有“超越比较”,则很容易)。采取这一行,该行,保存文件,解决冲突,完成。
Ben Scheirman,2009年

我不同意SVN合并。尝试执行分支到主干合并时,如果在分支和主干中都编辑了文件,则存在已知问题。去年我们在办公室度过了一个周末,手工完成了一个非常复杂的合并。话虽这么说,我不知道TFS是好是坏。我也想知道为什么专业源代码控制的黄金标准Perforce尚未出现。
史蒂夫·谢弗伦斯

5
嗯,对不起。我认为自己在其他源代码控制系统中非常称职,因此对缺少SOC的评论根本不正确。上次我检查时,每个人只需更改关于每个签入的解决方案/项目文件。TFS应该能够处理被蒙住眼睛的这些文件中的合并。但是,(在TFS 2005中)我几乎每天都遇到这个问题。这是工具。尝试除TFS以外的任何方法,您就会知道。2010年可能会更好,但是为什么还要等待呢?因为1天的Git已经实为我
奔Scheirman

43

我们是VS.NET商店,我们实现了:

  1. Bugzilla用于问题跟踪
  2. Apache Subversion作为源代码存储库后端
  3. VisualSVN服务器,用于管理服务器上的SVN
  4. 客户端上的TortoiseSVN(在Windows资源管理器中)和AhnkSVNVisualSVN(在Visual Studio中)
  5. CruiseControl.NET用于自动构建

成本:0美元好处:无价

如果您的团队很小,或者不准备加入谁的TFS流程,那么SVN和开源工具是您的最佳选择。


与NUnit和Sharepoint相同,而不是Bugzilla。
boj 2010年

1
同样在这里除了bugtracker.net对NR 1
约翰Wikström

1
在这里,TeamCity与构建服务器相同。免费,最多20个项目。
ThiagoPXP'4

VisualSVN 3.0在非域计算机上免费(社区许可证),因此AnkhSVN不是唯一的“免费”选项:)
bahrep 2012年

23

正如其他人指出的那样,与SVN相比,TFS以项目管理等形式为您提供了更多功能。这是我的两分钱,在使用了两者并与非常大的公司一起实施TFS时。

1)如果您使用的是TFS 2005,请升级到TFS 2008。TFS 2008中有很多改进使其可以使用。

2)如果您住在Visual Studio中,并且想要集成IDE,请使用TFS。我已经使用了SVN集成,并且几乎总是退回到使用TortoiseSVN。

3)如果您喜欢将帐户与Windows身份验证集成的想法,请使用TFS。从这方面的可管理性很好。对于SVN可能会有一些迷惑-我不太肯定,但是如果您喜欢GUI驱动的管理,那么TFS很难被超越。

4)如果您需要跟踪指标或采用更简便的方法来实现诸如签入策略之类的方法,请使用TFS。

5)如果有人不是MSFT则不会实现它,请选择TFS。

6)如果您不仅要执行.NET(Java工作,Eclipse等),还可以使用SVN。是的,那里有很好的产品(例如Teamprise)可以与TFS很好地配合使用。但是除非其他语言仅占您商店的一小部分,否则请坚持使用SVN。

除此之外,两者的SCM功能都差不多。他们都进行分支和合并,都进行原子检入,都支持重命名和移动。我认为对于刚开始使用分支和合并概念的人来说,让分支在Source Control Explorer中可见是很好的。

TFS确实不那么昂贵(也许是1200美元?)。与SVN相比,也许是。与报表服务和SharePoint的集成很好,但是同样,如果您不使用它,那也没关系。

我要说的是下载TFS的180天试用版,然后试一试。并排进行试用。我认为无论走哪条路,您都会感到幸福。


很多这样的做法不太正确-当然,我会在可能的情况下使用TortoiseSVN,但这仅仅是因为它非常适合我的首选工具,即使安装了AnkhSVN也是如此。SVN乐于进行ADS集成-仅使用VisualSVN Server。许多很多出色的错误跟踪器或PM工具可以轻松地与SVN集成并击败TFS管理功能。签入策略在SVN中非常容易,只需设置一个预提交钩子,它甚至附带示例,并且可以使用许多其他钩子,而TFS则没有。但是....点5可能是最重要的一点。
gbjbaanb

16

正如Ubiguchi指出的那样,TFS不是版本控制产品。购买仅用于版本控制的TFS显然是浪费金钱。TFS是一套集成的工具套件,可自动执行应用程序生命周期管理的各个方面(并且几乎适用于“企业”)。

同样在Ben S的帖子中-我不理解您对锁的评论。TFS根本不需要锁。管理员可以将TFS配置为像VSS(某些“不明智的”客户所要求的功能)一样工作到“结帐时获取最新信息”,我相信它也可以结帐。

但是通过“正常”使用TFS,“签出”会提示用户输入锁类型-默认值应为“无”。用户可以选择签出(或签入锁定)-但这不是必需的。如果您不想使用锁,请不要使用它们。

TFS确实会出于各种性能原因(使最新版本更快)和项目管理(我喜欢查看哪些开发人员已检出文件以及检出时间长短)两者来跟踪哪些用户已在服务器上检出。

我对SVN并不是很熟悉(我从未使用过),因此我无法评论“与TFS合并会更糟”,并且还没有遇到Ben S报告的合并错误-但我做得很好使用TFS进行分支和合并的成功。

我知道TFS的一个用例仍然很弱,它是那些经常“脱机”的用户。TFS是一种“服务器产品”,它假定用户大部分时间都已连接。离线体验在2008年版本中有所改善(2005年令人沮丧),但是还有很长的路要走。如果您有需要(或希望)经常与网络断开长时间连接的开发人员,那么使用SVN可能会更好。

对于使用TFS的SVN粉丝,要考虑的另一个功能是SVN Bridge,它是一个代码复合体,允许用户使用TortiseSVN连接到TFS。我的好朋友和我的同事广泛使用它并喜欢它。

同样,关于缺少命令行的评论也让我感到惊讶-命令行工具种类繁多(尽管许多工具需要单独下载TFS Power Tools

我怀疑Ben的评论基于2005版本的评估,该版本显然是“ Microsoft V1.0”产品。该产品当前版本为2.1,不久将发布版本3。


现在,每个MSDN副本都免费提供TFS客户端和服务器,不再浪费金钱了!
MrHinsh-Martin Hinshelwood

但这确实是08年9月我发布的消息(但马丁很不错!)
fuzzbone

10

TFS令人发指。此时,我在本地使用SVN(带有Live Mesh进行备份)进行版本控制,因为TFS有很多问题。主要问题是TFS使用时间戳记录是否具有最新版本,并将这些时间戳存储在服务器上。您可以删除本地副本,从TFS中获取最新版本,它会说所有文件都是最新的。这是一个愚蠢的系统,无法保证您拥有正确版本的文件。这导致许多烦恼:

  • 编辑任何文件时都需要通知TFS,因此您需要始终连接到服务器。
  • 如果您在IDE外部编辑文件,则TFS会感到困惑。此外,它将所有文件在NTFS中设置为只读。

尽管TFS支持合并,但它实际上是一个签入/签出系统。如果您编辑文件,通常会发现该文件已被其他开发人员锁定。有很多解决方法,但是系统非常复杂,您总是会遇到问题。例如,我们的开发人员发现,通过签出整个解决方案可以解决所有在NTFS中设置为只读的文件的问题,该解决方案对所有文件设置了排他锁。我这样做了几次,因为subversion的结帐语法相同,但不获取锁。

最终,团队资源管理器(客户端)的容量高达400 MB,TFS服务器需要SharePoint和两天的安装时间。Subversion一键式安装程序约为30 MB,它将在一分钟内为您安装服务器。TFS具有许多功能,但是其基础是如此不稳定,您将永远不会使用或关心它们。TFS的许可证价格昂贵,并且随着时间的推移,开发人员将浪费大量的时间在堆栈溢出上,而不是编写代码:P


8

我的建议是,Team System不值得。我已经使用过这两个功能,并且在使用Team System之后,我试图找到一个类似的替代产品。基本上,您需要支付的费用是集成费用,并且可以争论定制支持,但是我能够花一​​点时间创建一个Team System替换并将工具集成在一起。

我最近问了一个问题,关于其他人如何提出团队系统替代方案。我还列出了用于创建替代品的开发工具。希望有了这个答案和我提出的问题,您可以找到最适合自己的方法。

我不是一个讨厌Team System的人,我只是认为这不值钱。这是一个非常不错的工具,如果您不介意为此付出代价,那么请务必使用它。这是我创造出想出的替代产品的全部原因。我想要提供团队系统功能。



7

如果您需要的只是源代码控制,那么TFS就是多余的。我以前的一位雇主在他们的企业中拥有TFS,VSS和Subversion。我们的企业中没有Active Directory或Exchange Server 2003,因此最终在TFS服务器上创建了单独的用户,以便开发人员可以使用它。我们在合并中遇到了本·席曼(Ben Schierman)提到的相同类型的问题,以及其他导致我们走向Subversion的错误行为。

TFS是否适合您,部分取决于您的预算,开发团队的规模以及可用于配置/维护解决方案的时间和人员。如果您想要TFS提供的其他问题跟踪,工作项和项目统计功能,那么值得您花些时间来研究其他替代方案。诸如JIRA(来自Atlassian Systems的产品)或Trac之类的产品可以与Subversion很好地集成,并以较低的价格提供项目或项目经理可能需要的监督。

在理想的环境中,具有Active Directory,Exchange Server 2003或更高版本,并有专门的存储库人员,TFS更有可能是一个不错的选择。


6

我在工作和在家中都使用过。他们俩都非常酷。我唯一建议使用TFS的时间是,如果您要使用的功能不只是源代码管理,那么它是更多的。如果您需要的只是源代码控制,那么SVN不会出错,这就是原因。

  1. VisualSVN服务器这是一个完整的SVN服务器,带有一个不错的插件来管理它。它使您可以直接通过UI使用Windows身份验证。简单。

  2. 乌龟它的乌龟,足够说。

  3. ankhsvn这是一个很棒的SCC插件。对于那些想要完全与VS IDE集成的用户,最新版本是完整的SCC插件。因此,您现在可以免费获得完全集成。

上面的设置是100%免费的,它将帮助您完成源代码控制所需的一切。


4

TFS不仅与源代码管理有关。如果使用TFS提供的整个程序包,错误跟踪,构建,报告等,那么TFS是一个不错的选择(肯定比Rational更好)。TFS还可以与Active Directory很好地集成。

尽管如果您只是在谈论SCM,那么我更喜欢SubVersion。我真的不喜欢IDE集成。我也喜欢SVN的Trunk / Tags / Branches结构约定,以及分支之间切换的相对简便性。不过,在TFS中合并似乎更容易。尽管Tortoise的UI击败了TFS,但尤其是在向回购添加文件方面。


3

我说这真的取决于您的需求。TFS非常好,我已经广泛使用了它,但是它非常针对企业级的,如果您不需要所有这些功能,则可能没有必要。如果您确实需要这些功能(尤其是分支,可伸缩性,工作项跟踪等),那么它们一分钱都值得。请记住,TFS包括错误跟踪,工作项跟踪和源代码控制之外的其他功能。如果您有多个分支,或者您发现自己在Subversion中缺少某些功能或其他功能,那么切换是个好主意。但是,除非有充分的理由进行切换,否则您可能应该避免切换源代码控制系统的成本和生产率损失。


3

经过广泛使用,我认为Wedge注意到了“ TFS包括错误跟踪,工作项跟踪和源代码控制之外的其他功能”。

但是,老实说,在可伸缩性方面,SVN和TFS似乎相当平等,并且由于任何固有的简单性,SVN的源代码控制在TFS上也具有优势。

如果您希望在源代码管理中同时进行工作项和错误跟踪,则可以选择TFS,也可以使用SVN和其他一些可能免费的工具,例如bugzilla。虽然TFS确实将源代码控制和工作项目跟踪集成在一起,但老实说,MS多年来应该免费赠送它作为道歉,以免滥用这么多VSS的开发人员。


2
Bugzilla太糟糕了!不建议这样做!
Orion Edwards,

是的,建议改用FogBugz,它相当不错。
杰里米·弗里斯纳

3

我已经使用了SVN和TFS。使用TFS的主要优点是它与Visual Studio紧密集成。错误跟踪,任务跟踪将全部集中在一个地方。为这些项目生成的报告将帮助利益相关者随时了解项目状态。


3

我正在与5个人一起进行一个项目,最近我们从SVN切换到TFS。整个过程一直是一场噩梦。我们具有从XMLSpy自动生成的代码,并且TFS无法识别在VS2008外部修改的文件。TFS Power Tools可以扫描您的结帐并解决此问题,但是必须记住要使用这些工具,这很痛苦。我们经常遇到的另一个问题是TFS中的默认合并工具。这是迄今为止我使用过的最糟糕的合并工具。有人会认为TFS能够处理基本的解决方案合并,但是到目前为止,情况并非如此。

内置的用户界面非常有用,但也存在缺陷。如果我从解决方案资源管理器中签出,有时未签出已添加的文件。如果从“团队源代码管理”窗口中执行此操作,则它会完美运行。这是为什么?我很期待在VS2010中使用TFS,因为我听说过很多很棒的东西,而SVN远非完美,但我希望其中的某些功能能更直观地发挥作用。

亚当


多数问题已在TFS 2010中修复,但是TFS仍然是“签出”系统,因此,如果您不告诉TFS您至少要修改文件,它将不会针对服务器进行检查。如果您在源代码管理中拥有数百万个文件,则可能会喜欢上此方法,但是对于小型项目,我感到很痛苦。
MrHinsh-Martin Hinshelwood

3

TFS非常适合项目管理和跟踪,但是我觉得源代码控制不如SVN。这是我的TFS牛肉:

入住/退房模式

这对于TFS源代码控制是一个巨大的缺点。不幸的是,VS会自动为您签出项目,即使您不想这样做。我一直处于有人签出一些文件然后去度假的情况。我负责重组目录结构,但无法完成,因为一堆文件已签出给该人。GUI中无法撤消签出,这意味着必须在命令行中一一完成。否则我必须弄清楚如何为此编写一个电源外壳脚本。

VS必须做的一切

有时我想编辑一个文本文件并签入。这需要我启动VS 2010,这是一个巨大的野兽,只需要编辑文件并签入。SVN花了几秒钟的时间现在花了我一分钟。

正如其他一些人指出的那样,仅当未检出文件时,文件才标记为只读。如果使其可写并在VS之外进行编辑,TFS将无法识别。这使VS之外的编辑变得烦人。这意味着,启动VS,签出文件,用另一个编辑器对其进行编辑,然后签入VS。

SVN中一些简单的操作现在很痛苦

  • 也许我还没有弄清楚,但是我发现回滚变更集对于TFS来说非常繁琐。

  • 将文件添加到源代码管理中(这不是解决方案的一部分)是一个巨大的难题。TFS源代码管理资源管理器仅显示源代码管理中的哪些文件,而不显示哪些文件(可能不存在此设置,我不知道)。使用Tortoise SVN,我可以简单地在文件夹上按Commit,然后选择要添加的文件。


回滚必须在命令行上完成。msdn.microsoft.com/en-us/library/dd380776.aspx
LeWoody 2011年

2

我目前正在领导根据我当前使用的Rational Suite评估我的TFS。到目前为止,TFS 2008正在使用clearcase + clearquest。开发环境集成才是真正的亮点。


7
那是因为ClearCase可能是大多数人使用过的最差的源代码控制系统。
史蒂夫·谢弗瑞斯

1
不仅如此,Clear Case和其他合理工具的许可简直太荒谬了!
MrHinsh-Martin Hinshelwood

2

我的10美分:

TFS2005开个玩笑-难以安装,甚至难以维护TFS2008稳定-易于安装,易于维护且可以自动运行。TFS2010是史诗!-安装是狗eassssyyy。管理非常容易;这是一个布局精美的用户界面。将其与VS2008集成并不是一件容易的事,因为您无法在vs2008中创建项目,而必须使用vs2010(这很愚蠢)。TFS2010还允许您更改共享点项目的位置,而不用拥有TFS2008那些糟糕的子文件夹。TFS2010还具有诸如燃尽图之类的工具,对项目管理非常有用。就像TFS2010面向包括客户在内的整个生产团队一样!它仍然花费太多,尽管:(


2

还要记住,TFS需要服务器硬件提供更多的功能。至少要有一个Windows Server许可证。

我们公司遵循的最佳实践是使用2台服务器:前端(具有集成的共享点)和后端的专用sql服务器(我们使用企业集群)。TFS可以安装在1台计算机上,但不能安装。

相比之下,我们的svn服务器安装在具有256mb内存和1 cpu的虚拟linux服务器上,在执行诸如checkout-all之类的常见任务时,速度仍然要快几个数量级。虚拟硬件是最低的vshpere可以分配!磁盘速度很快(SAN)。

我会建议TFS至少需要5000美元的专用硬件,而svn服务器(在Linux上)可以与当前基于Windows的os过时的任何硬件一起运行。


1

我认为这取决于完成项目的情况和环境。如果您只有一个简单的小型项目,那么SVN很棒。正如一些人已经写道,VisualSVN可以很好地集成到Visual Studio中,而您不必通过本机文件系统进行签入/签出。

TFS非常适合版本控制,但如果您真正使用它的所有功能,则更好。在我看来,如果您使用工作项作为集成存储库来处理客户错误报告,新功能请求以及通过管理任务以及根据估计的时间,使用的时间和剩余时间指示。
真正有趣的是使用将工作项与源代码签入关联的功能。有关更多信息,请参见此处


1

我们是从SVN到TFS2010迁移过程中的一个小团队。我们这样做的最大理由是将Visual Studio和WebAccess集成在一起以进行错误跟踪,这已成为TFS的一部分。

@亚当:希望我们会有更好的体验。不能告诉...


1

我在过去3年中使用过SVN(来自VSS较早),最近不得不切换到TFS2010。总体感觉是,它比SVN更具缺陷,除了与任务/错误的良好集成外,我认为它与SVN相比没有优势。速度似乎也比SVN慢。

如果现在要选择一个源代码管理,我仍然会选择SVN。

关于工具:-AnkhSVN Visual Studio插件与TFS源代码控制一样好-乌龟比TFS同类要好得多


0

TFS很棒,如果您不需要非开发人员,可以使用pm东西。

我们的服务台需要参与该过程,而这并没有减少它。

另外,至少在tfs 2005中的构建管理是有缺陷的,甚至无法与2008 slns进行构建。我真的不喜欢我的源代码控制选择会影响我的部署选择,这就是为什么我的团队不是svn商店的原因。


0

如果基于源代码控制,我会选择SVN。适用于Visual Studio的AnkhSVN免费加载项在其新版本中已得到极大改进。另外,您还获得了SVN的源代码,并且该文档非常棒!他们在TFS 2010源代码管理中更改了一些不可思议的功能,如果没有源代码,进行故障排除可能会非常艰巨。另外,您依赖MSDN团队来抽取文档,并且他们会按自己的计划和深度进行操作。

话虽这么说,TFS显然提供的不仅仅是源代码控制。这是一个ALM工具。将其与工作项,报告,自动构建,门控检入,自动测试等结合可以提供一些非常丰富的价值,而这些价值只有通过将各种工具与SVN连接才能获得。当然,拥有SVN的源代码并不是万无一失。我已经进入SVN场景,可能要花几周才能完全弄清楚发生了什么。

因此,我建议您从ALM的角度进行研究,看看您的公司是要使用所有TFS功能还是要采用最佳策略(例如JIRA)。


-3

TFS一英里。

我无意中对基于SVN的基于文件的方法造成了很多问题。我曾经历过源代码控制问题:TFS –两年内出现0个问题SVN –丢失计数...

是的,我知道TFS的价格对大多数公司来说都是因素,这真是太可惜了。如果拥有合理的定价模型,MS可能会拥有更多的市场份额(和利润)。


2
什么样的问题?这与基于文件的方法有何关系?
肖恩·麦克米伦

1
我用SVN 7年了。绝对没有发现问题。
pylover'4
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.