我们应该使用什么源代码控制

Joh*_*ohn 6 version-control

我正在寻找一个好的源控制解决方案.以下是要求:

  1. 必须具有GUI或具有可用的GUI插件.
  2. 必须是免费的.
  3. 必须使用HTTP.

你会选择什么源代码控制?

背景

我们的.Net开发团队是大型母公司的一部分.我们正在收购VS团队系统,但是大公司的官僚主义行动缓慢,可能需要几个月才能启动并运行Team System服务器.与此同时,我们有一个大型项目将外包给印度的供应商.在过去,我们团队的流程是这样的:1)指定要求,2)让印度团队创建解决方案,3)在一个月后从供应商处收回解决方案.

我们正在寻找一种更有纪律的方法,团队系统是我们的长期解决方案,但是我想现在就使用一些东西而不是什么.

以下是我的一些想法:

  1. 由于稳定性问题,Source Safe是不可行的.
  2. 易用性比高级功能更重要,比如分支,我真的希望它使用GUI而不是命令行.
  3. HTTP访问是必须的,因为开发团队将是远程的.

附加信息作为迄今为止反馈的后续行动

我们需要一个免费的解决方案,不是因为我们负担不起,而是因为公司的企业采购政策会延迟实现.免费使我们可以随时安装.我想如果它足够便宜,我可以自己掏钱,但它必须相当便宜.

最后

遗憾的是,我们最终没有使用任何建议.我们最终获得了TFS许可证,但是我们预计在明年之前不会有使用服务器的许可.在此期间,离岸团队将zip文件上传到ftp服务器上.Ugggghh!为什么说服大公司可以使用非标准解决方案(如GIT)而不是等待几个月(或几年),因为他们试图决定是否购买(在这种情况下是TFS)值得.

Jam*_*Ide 25

我推荐SubversionTortoiseSVN.甚至Subversion 的文档都是免费的.

编辑添加:我还强烈建议使用VisualSVN Server来设置SVN存储库.设置很简单,它非常麻烦,我不得不去看看它被叫什么,因为自初始设置以来我没有必要触摸它一次.


Cha*_*tin 10

想想分布式系统:darcs,gitmercurial.他们都有他们的追随者,但在操作上他们非常相似.darc可能需要很长时间才能构建,因为它是用Haskell编写的,而你最终需要先构建Haskell.Mercurial是基于python的,易于破解和扩展.当然git是用于Linux的,非常广泛可用的,很多工具.

我认为Subversion几乎是现代SCM的基线; 它也是一个不错的选择,但它确实迫使你拥有一个固定的中央服务器; 无论是你,还是你的印度同事,都必须检查并承诺长管道.