我即将开始一个项目,并考虑使用Google Code来托管它.它提供了使用Mercurial或SVN进行版本控制的选项.我以前从未使用过VCS,并且想知道哪一个更容易使用.
该项目涉及两个主要程序员,但其他一些可能会贡献少量.它主要是在python中,我们使用Emacs作为主编辑器.我们都使用Windows操作系统.
使用Mercurial.
两个系统都很简单,但Mercurial会很快.想比较一下昨晚别人做了什么和你昨晚做了什么?使用SVN时,每个文件在与Google服务器通信时需要花费几秒钟的时间.使用Mercurial它几乎是即时的.
每个差异几秒钟可能听起来不是很多,但一旦你使用一个消除(大多数)停顿的系统,一个活泼,响应性界面的好处将变得明显.
哦,人们可以分叉你的项目而不会成为屁股的巨大痛苦.这也很酷.
编辑:Mercurial也不觉得需要.svn
在项目的每个文件夹中打一个文件夹.那些东西很丑陋(默认情况下不会隐藏在Windows上,就像它们在*nix系统上一样).在.hg
项目的根目录中只有一个文件夹,它更清晰.
编辑:使用Mercurial的另一个原因:hg bisect
.在10分钟而不是2小时内追踪错误,因为您能够找到导致它的确切修订非常棒.看起来有一个Perl svn-bisect
工具,但它不在核心,SVN在修订之间更新的缓慢将使它成为一个更长的过程.