Mercurial 是一种开源的分布式版本控制工具,目前的最高版本是 1.6.0.2。 一、什么是分布式版本控制工具
传 统的版本控制工具(如 SVN,CVS,CleanCase 等)因其将 Code Repository 的所有历史信息全部保存在同一台服务器上,而称为集中式版本控制工具。而在分布式版本控制系统(如 Mercurial、GIT)中, Code Repository 的历史信息的复本被保存在多台机器中,并且一视同仁,没有主次之分,除非根据团队的管理需要而人为指定哪一台机器为 Main Repository。
二、从集成式 到到分布式
我们的项目原来使用 SVN 作为版本控制工具,但已经改为 Mercurial。为什么呢?其实,最初的理由非常简单,集中式版本控制太影响开发效率了!(后来所有人都爱上了 Mercurial。)
项目之初,很自然地选择了 SVN。因为大家都非常熟悉 SVN,而且 Chicago Office 已经建有统一的 SVN 服务器。可问题出在网络上。北京与 Chicago 两个 Office 之间的网络情况一直不是很好,首次检出代码要花上几小时,每次的检入和检出都很慢。终于,有一次网络断了两天,无法检入检出了。
而此时,很多开源的分布式版本控制工具已经发展起来,其中主流的两个就是 Mercurial 和 GIT。所以,决定试用一下分布式版本控制工具。那么选择哪一种呢?
我们考虑了如下几个问题:
二、选择 Mercurial
为什么选择 Mercurial 呢?
首先,毫无疑问,入选的 DVCS 只能是 GIT 和 Mercurial。
GIT 在某些方面要优于 Mercurial,比如:
不好的一点就是对 Windows 的支持不怎么样,虽然也有解决方案(如使用 Cygwin 或 msysGit)。
而 Mercurial 也有它的优点,比如:
两个都是不错的 DVCS,可根据我们最初的几个标准,以及考虑到学习曲线,我们决定使用 Mercurial。
小贴士:根据项目的特点选择合适的工具,可以提高开发效率。
http://blog.csdn.net/tony1130/archive/2008/10/24/3137494.aspx