我正在寻找一个好的源控制解决方案。以下是要求:
您会选择哪种源代码控制?
背景的
我们的.Net开发团队是一家大型母公司的一部分。我们正在收购VS团队系统,但是大公司的官僚主义行动缓慢,可能需要几个月才能启动并运行Team System服务器。与此同时,我们有一个大型项目将外包给印度的供应商。在过去,我们团队的流程是这样的:1)指定要求,2)让印度团队创建解决方案,3)在一个月后从供应商处收回解决方案。
我们正在寻找一种更加严谨的方法,团队系统是我们的长期解决方案,但是我想现在就使用一些东西而不是什么。
以下是我的一些想法:
其他信息作为目前为止反馈的后续行动
我们需要一个免费的解决方案,不是因为我们负担不起,而是因为公司的企业采购政策会延迟实现。免费使我们可以随时安装。我想如果它足够便宜,我可以自掏腰包,但它必须相当便宜。
最终
可悲的是,我们最终没有使用任何建议。我们最终获得了TFS许可证,但是我们预计在明年之前不会有使用服务器的许可。在此期间,离岸团队将zip文件上传到ftp服务器上。 Ugggghh!为什么说服大公司可以使用非标准解决方案(如GIT)而不是等待几个月(或几年),因为他们试图决定是否购买(在这种情况下是TFS)值得。
答案 0 :(得分:25)
我建议Subversion和TortoiseSVN。甚至Subversion的documentation都是免费的。
编辑添加: 我还强烈建议VisualSVN Server设置您的SVN存储库。设置非常简单,它非常麻烦,我不得不去看看它的名字,因为我从初始设置开始就不需要触摸它。
答案 1 :(得分:10)
考虑分布式系统:darcs,git或mercurial。他们都有他们的追随者,但在操作上他们非常相似。 darc可能需要很长时间才能构建,因为它是用Haskell编写的,而你最终需要先构建Haskell。 Mercurial是基于python的,易于破解和扩展。当然git是用于Linux的,非常广泛可用的,很多工具。
我认为,Subversion几乎是现代SCM的基线;它也是一个不错的选择,但它确实迫使你拥有一个固定的中央服务器;无论是你,还是你的印度同事,都必须检查并承诺长管。
答案 2 :(得分:4)
Subversion(SVN)显然是一个受欢迎的选择。它现在也很常用(谷歌代码,Sourceforge等),所以应该有很多关于它的使用的文档。 Git也是一个不错的选择,但缺乏GUI界面使得它不能很好地满足您的要求。
我假设您使用的是.NET,主要是在Windows环境中开发。查看VisualSVN产品。他们制作了一个伟大的(免费)服务器产品,用于在Windows环境中实际运行完整的svn服务器(它支持SSL,组/用户身份验证,包括Active Directory支持)。
他们还提供了一个Visual Studio插件,虽然它不是免费的(尽管49美元/开发人员非常合理)。 AnkhSvn是另一个Visual Studio客户端插件选项。它不是很好,但它是免费的。
http://www.visualsvn.com/server/ - 免费的Windows SVN服务器
http://www.visualsvn.com/visualsvn/ - Visual Studio客户端插件
http://ankhsvn.open.collab.net/ - 免费的Visual Studio客户端插件
所以,我认为使用VisualSVN产品的Subversion将以非常合理的价格为您提供最佳的windows / gui集成。
答案 3 :(得分:2)
根据我的经验,SVN在HTTP上非常糟糕。如果你的回购具有任何重要的尺寸,特别是那里塞满了跨大西洋往返,你会想要拔掉你的头发。就个人而言,我会选择Mercurial。
谷歌最近在Git和Mercurial上做了一些research。 Mercurial最大的优势在于它在HTTP方面表现非常出色。
TortoiseHg虽然不如TortoiseSVN那么成熟,但它是一个非常可靠的Windows GUI。虽然您提到您对分支和合并不是很感兴趣,但这些是所有DVCS中的常见活动。幸运的是,因为它们很常见,所以它们在用户界面和整体上相对无痛的活动中得到很好的支持。
答案 4 :(得分:1)
答案 5 :(得分:1)
Team Foundation Server非常易于使用,并且很容易从源安全背景(共享命令的通用术语)开始。然而,由于部分开发工作在印度,他们可能更了解Subversion。
如果你使用Subversion,我会看VisualSVN。它非常棒,使用简单,设置快速(TFS设置有点复杂)。 VisualSVN提供一个IDE插件(50美元)和一个服务器对应物,用于为Windows机器启动Subversion(免费)
答案 6 :(得分:1)
查看Subversion:http://subversion.tigris.org/
还有GUI插件和VS .NET。 http://tortoisesvn.tigris.org/ http://ankhsvn.open.collab.net/
所有开源&免费。
答案 7 :(得分:1)
Mercurial非常棒且很容易。
答案 8 :(得分:1)
我的推荐是Subversion + TortoiseSVN(对于资源管理器集成)+ AnkhSVN(与Visual Studio集成)。
我认为你不应该使用任何distributet版本控制系统,因为在那之后你将不得不回到集中的那个可能会很痛苦。
答案 9 :(得分:1)
如上所述,SVN和Tortoise是要走的路。
我还获得了可视SVN(http://www.visualsvn.com/)的许可证,它不是免费的,但它确实很好,它使用Tortoise svn并在IDE中提供它的功能。
答案 10 :(得分:0)
为.Net开发设置Subversion变得更容易了。你可以从installing Visual SVN Server开始。这将在Windows机器上安装Subversion服务器,将通过设置存储库,身份验证等工作。
然后,对于Visual Studio与Subversion的集成,您可以尝试VisualSVN,它不是免费的,但非常值得许可。但如果您的预算不允许,Ankhsvn也可以正常使用,我每天都会使用它。
答案 11 :(得分:0)
SVN的另一票。
对于Windows上的轻量级SVN服务器,请查看sliksvn。它不进行http源浏览,但是比小组的基于apache的服务器更小,更容易设置。
答案 12 :(得分:0)
你有没有尝试过解开(http://unfuddle.com/)。满足您的所有要求。
答案 13 :(得分:0)
如果您确定要参加Team System,那么我相信您可以使用180天的试用版。这样,你就不用换了。
答案 14 :(得分:0)
我们决定中途见面并获得许可SourceGear Vault。不幸的是,它不符合你的“免费”要求。虽然我发现它的comparison with SVN很有趣。
答案 15 :(得分:0)
我会建议您的大多数团队成员拥有最丰富经验的源代码控制,或者您的团队成员是您的专家。
在我看来,除了无休止的“git比Subversion更好比CVS更好” - 讨论我不认为它们之间的区别是重要的。
让一个真正知道如何使用您决定使用的系统的人更重要。
答案 16 :(得分:0)
我是第二个SVN和TortoiseSVN。
我离开了CVS和WinCVS,我很满意这个设置。
答案 17 :(得分:0)
您是否尝试过SVN并使用TortoiseSVN进行Shell扩展?