几个月前,我的团队将源代码控制从Visual SourceSafe切换到Apache Subversion,我们并不高兴.
最近我一直在关注Team Foundation Server,至少从表面上看,它看起来非常令人印象深刻.与Visual Studio有很好的集成,为DBA,测试人员,项目经理等提供了许多出色的工具.
这两种产品最明显的区别在于价格.Apache Subversion(免费)很难打败.Team Foundation Server非常昂贵,因此额外的功能真的必须将Subversion放入裤子中.
Dav*_*kle 87
以下是两者之间最大的区别,我用过两者:
1)TFS与开发的"Visual Studio方式"紧密耦合. 这并不是说TFS与VS IDE紧密耦合,这意味着TFS很难保持熟悉的"签入"/"签出"范例的Visual SourceSafe,即使它真的不再是一个合适的模型.当你的开发人员可能花时间与网络断开连接时,Subversion的"提交"/"更新"概念会更加真实.TFS希望开发人员始终连接到服务器.这是一个很大的减号.我个人觉得TFS对于文件在服务器和本地磁盘上的组织方式不太透明,因为Visual Studio集成很紧密.甚至TFS的更大支持者也承认,其连接的签入/签出模型对于断开连接的开发人员来说并不是一个令人信服的选择.
2)成本. 那些说TFS不贵的人可能是非常小的商店,或者不符合TFS的许可条款.您需要一个客户端访问许可证,以便在您执 你是一个管理错误的经理吗?您需要〜$ 250 CAL(零售TFS许可证中包含5个).想要报告问题的业务用户?250美元的CAL.开发人员?250美元(除非他们有MSDN,在这种情况下它包括在内).服务器?500美元(如果您有MSDN,则包括在内).当然,向您出售TFS副本的人会告诉您工作项跟踪对于其他用户是免费的,但这些额外用户只能看到他们自己创建的工作项,而不是整个团队的工作项,这不是在面向团队的敏捷环境中太有用了.当你拥有一个中等规模的组织时,所有这一切都会增加,当SVN和CruiseControl.net的增量成本为0美元这么多的最佳产品时,很难证明这一点.(但是,对于TFS的公平性,我还在等待非常好的OSS问题跟踪器)
3)项目结构. 在项目数量较少的大型团队中,TFS可能会运作良好.如果您内部有许多小型,未连接或松散连接的业务线应用程序,TFS的结构可能开始变得霸道.首先,不可能自己定义项目的分类 - 您可以在项目中设置"区域",但是在"项目"的基本上下文中一起跟踪所有问题和文档.创建新的"项目"通常是耗时的,并且对于小的努力来说是过度的.当然,SVN没有任何类型,因为它只关注源代码控制,但如果你需要良好的小项目灵活性,SVN和另一个问题跟踪工具可能是更好的选择.
我认为,值得:
对于拥有大量预算良好项目的大型团队而言,在开发人员几乎完全在IDE中工作的微软商店中,TFS就是赢家.当您需要在项目中集中执行策略时,TFS也会获胜.
对于许多小型团队,有许多不同的,较小的项目,或成本问题的商店,或者开发人员与源代码控制断开连接的团队,请使用SVN.
Ben*_*man 48
我很惊讶过去使用Subversion的人甚至对TFS源代码控制有需求.
我对TFS(2005)的经历非常可怕.我已经阅读了各种白皮书和指导,了解如何根据各种开发需求正确构建源代码.
我们的简单情况,我们有主干线开发的主干,我们整合变更和部署的集成分支,以及跟踪过去版本的发布分支是非常常见和直接的,但我们不断遇到问题.
我对TFS的主要问题:
......列表还在继续.我认为即使有了所有的整合,也有更好的免费替代方案.
Jer*_*ett 46
我最近加入了CodePlex的开源项目.他们使用TFS进行源代码控制,我不得不说它非常棒.到目前为止,我对它印象深刻.我是IDE集成的忠实粉丝,分支和标记代码是多么容易.如果您已经正确配置了所有内容,那么添加一个源代码控制解决方案就像两次点击一样.
现在.是否值得高昂的价格标签?我不这么认为.在CodePlex项目上工作的好处是,它让我可以获得我需要的TFS体验,如果我以后必须在某个地方使用它.如果您希望源控件具有良好的IDE集成,请使用VisualSVN集成包.获得许多相同的功能(在非域计算机BTW上免费)是一项非常便宜的投资.
And*_*wis 42
我们是VS.NET商店,我们实施了:
费用:0美元优惠:无价
如果您是一个小团队,或者还没有准备好购买TFS流程,那么SVN和开源工具就是您的选择.
Cor*_*Foy 23
正如其他人所指出的那样,TFS为您提供了更多功能,然后SVN以项目管理等形式提供了这些功能.使用过两者,并与非常大的公司合作实施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天试用版并试一试.并排进行试验.无论你走哪条路,我都觉得你会很开心.
小智 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电动工具)
我怀疑Ben的评论是基于2005版本的评估,这显然是"Microsoft V1.0"产品.该产品目前处于2.1版本,不久的将来会推出第3版.
Jam*_*mes 10
TFS很令人发指.此时我使用SVN(带有Live Mesh进行备份)在本地进行版本控制,因为我在TFS上遇到了很多问题.主要问题是TFS使用时间戳来记录您是否拥有最新版本,并将这些时间戳存储在服务器上.您可以删除本地副本,从TFS获取最新版本,并且它会说所有文件都是最新的.这是一个愚蠢的系统,无法保证您拥有正确的文件版本.这导致了许多烦恼:
虽然TFS支持合并,但它确实是一个签入/签出系统.如果编辑文件,通常会发现它已锁定到其他开发人员.有各种各样的方法,但系统是如此令人费解,你将永远遇到问题.例如,我们的开发人员发现他们可以通过检查整个解决方案来解决在NTFS中设置为只读的所有文件,这会对所有文件设置独占锁定.我这样做了几次,因为subversion具有相同的checkout语法,它没有获得锁定.
最后,团队资源管理器(客户端)高达400 MB,TFS服务器需要SharePoint,需要两天时间才能安装.颠覆一键安装程序大约30 MB,它将在一分钟内为您安装服务器.TFS有许多功能,但它的基础是如此不稳定,你永远不会使用或关心它们.TFS在许可证方面是昂贵的,并且在开发人员将浪费在stackoverflow上而不是编写代码的时候:P
我的建议,Team System不值钱.我已经使用了两个和使用Team System后,我试图找到一个类似的替代品.基本上你所支付的是集成,你可以争论自定义支持,但我已经能够用一点时间创建一个Team System替换,并将工具集成在一起.
我最近问了一个问题,其他人做了什么来提出一个Team System替代方案.我还列出了用于创建替换的开发工具.希望通过这个答案和我提出的问题,你可以找到对你有用的东西.
我不是团队系统的仇恨者,我只是觉得这不值钱.这是一个非常好的工具,如果你不介意为它付出代价,那么一定要用它.这就是我创造替代品的全部原因.我想要Team System提供的功能.
如果你需要的只是源代码控制,那么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更有可能成为一个不错的选择.
我在工作和家里都使用过.它们本身都非常酷.我建议使用TFS的唯一一次是,如果你将使用更多的功能,而不仅仅是源代码控制.如果您需要的只是源代码控制,那么您无法使用SVN,这就是原因.
VisualSVN Server这是一个完整的SVN服务器,有一个很好的插件来管理它.它允许您通过UI使用Windows身份验证.简单.
乌龟它的乌龟,足够说.
ankhsvn这是一个很棒的SCC插件.对于那些想要完全VS IDE集成的人来说,最新版本是一个完整的SCC插件.因此,您现在可以免费获得完全集成.
以上设置是100%免费的,可以帮助您完成源控制所需的任何操作.
| 归档时间: |
|
| 查看次数: |
54419 次 |
| 最近记录: |