什么是替代微软Team Foundation Server的最佳免费开源选择?

8

我有一个团队正在使用MS Visual Studio开发软件,现在他们想开始使用MS Team Foundation Server,主要是为了版本控制和可能的补丁和bug跟踪。

他们没有任何MS Team Foundation Server的经验,但他们非常热衷于MS产品。那么最好的免费开源替代方案是什么?Git、SVN、CVS、Bugzilla、插件等。


2
VS + MSDN订阅可以获得TFS服务器和CAL,因此根据购买VS的方式,他们可能已经拥有了TFS。 - Richard
1
其他条件相同的话,我会毫不犹豫地选择 TFS。它与 VS 的集成、问题追踪和非 VS 用户的支持都非常出色。 - ArjanP
TFS与非VS用户的集成非常糟糕。如果您使用任何非微软软件(例如,除IE之外的浏览器,除Windows之外的操作系统,除VS之外的编译器),那就别想了。 - Ben Voigt
我是指商业用户 =) 我永远不会在非 Microsoft/.NET/VS 项目中使用 TFS。 - ArjanP
6个回答

7

虽然没有直接的替代品,但我更倾向于使用以下工具:

Subversion (TortoiseSVN),CruiseControl和类似Bugzilla的东西。

Martin Fowler最近在源代码控制方面做了一篇好的文章,svn比TFS更胜一筹。


类似Bugzilla的工具可能是Trac。它被广泛使用,正在积极开发,并且具有广泛的Subversion集成。http://trac.edgewall.org/ - Ben Voigt
看起来很有趣,我可能会去看看。谢谢。 - Joe Ratzer

2

没有单一的开源替代品可以取代TFS。TFS包含源代码管理和版本控制、构建服务器和持续集成、工作项、项目管理、SharePoint门户等功能,还有良好的Visual Studio集成。


是的,但它不是 TFS 系列产品中的单一产品,而是超过一个产品。 - user90843
我们成功地使用非开源和开源工具构建了一个等效的功能堆栈,我们几乎使用了所有Atlassian软件堆栈和CruiseControl .NET。结合NUnit和NCover,您可以获得相似的功能(我说的是相似而不是完全相同)。 - krystan honour

2
这里推荐使用Mercurial(Hg)和Bugzilla。如果你主要使用微软产品,那么Mercurial拥有更好的用户界面(TortoiseHg),我们使用它与WinMerge一起展示视觉差异。在实践中,我们并没有发现Visual Studio集成是一个重要因素,能够在整个文件夹树上操作源代码控制而不受其中包含的VS解决方案和项目的限制则非常棒。
此外,如果你计划使用新的版本控制系统,最好使用像Mercurial或git这样的分布式版本控制系统(DVCS)。我认识的所有转换到DVCS的人都不会愿意回到像TFS或svn这样的非DVCS。一旦你习惯了本地提交,你就会同意这个观点!

1

如果您想考虑托管解决方案,可以尝试GitHub或BitBucket。 如果您正在使用Visual Studio,我建议使用Mercurial作为版本控制系统的BitBucket。已经有一个名为VisualHg的Visual Studio扩展程序,或者如果您喜欢Tortoise风格,可以使用TortoiseHg。

GitHub/BitBucket将为您提供源代码控制、问题跟踪和项目管理。

对于构建服务器,您可以尝试CruiseControl或TeamCity(免费但不开源)。


如果您想要自主托管的解决方案,可以使用Stash+Jira。 - Ömer Faruk AK

0

Martin Fowler的调查结果:http://martinfowler.com/bliki/VcsSurvey.html

TFS表现不佳-许多用户认为它是“危险”的。我使用TFS是因为我在目前的工作场所必须使用它。在此之前,我使用SVN + Tortoise + Gemini,没有什么实质性的抱怨。

在我看来,TFS与VS很好地集成在一起,但它有点庞大且偶尔难以驾驭。毕竟,“源代码控制”=源代码+控制...

我认识的许多程序员,他们并不崇拜邪恶的M$帝国,也非常赞赏Git。


1
那项调查从某种程度上来说并不十分具有代表性...我无法理解VSS怎么可能比TFS更好。 - ArjanP
据我所知,VSS仍然拥有任何版本控制工具中最大的用户群(尽管谁也不知道为什么)。 - krystan honour
@ArjanP - 是的,调查包括了Fowler所说的“虚假但令人着迷的数字”,并且基于不到一百个回复。但我相信ThoughtWorks的专家们知道他们在做什么。@Krystan - 我想知道评估、切换、安装和学习如何配置CVS(毫无疑问是所有必要软件应用程序中最枯燥无味的前五名之一)所涉及的单调乏味是否与此有关? - immutabl
我正在尝试使用Git,但是如何在服务器上创建一个集合(类似于TFS),并允许文件/项目的签入? - SearchForKnowledge
Azure DevOps(前身为TFS)是最方便的工具,现在在Jira之后被广泛使用。 - Jag

0

虽然不是免费的,但非常便宜,可以尝试使用VisualSVN,它在Visual Studio中集成得非常好,但使用SVN作为后端。


1
ahknsvn是一个免费的工具,可以将svn与Visual Studio集成。早期版本存在一些问题,但现在似乎已经非常稳定了。http://ankhsvn.open.collab.net/ - Ben Voigt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接