说到版本控制系统,这里不得不提到一下以往著名的版本控制系统:CVS和SVN,它们都是集中式的单服务器的版本控制系统,而相比之下Mercurial是属于分布式版本控制系统的,和它类似的,还有大名鼎鼎的Git。
下面是摘自Mercurial官网的介绍,或许可以让你更明白分布式版本控制系统的优点:
Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目。相对于传统的版本控制,具有如下优点:
- 更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
- 更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
- 对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。
其实早就想折腾折腾Mercurial了,只是由于最近工作比较忙,一直没抽出时间来。周末花了些时间来在我的VPS上安装Mercurial。
我的VPS,系统是CentOS,这里大致介绍一下在CentOS中安装Mercurial的一般过程:
由于Mercurial是由Python开发的,所以安装和运行,都少不了Python的支持。其实现在的Linux系统,基本都内置安装了Python,只是你需要确认一下你的Python的版本,必须在2.4以上。并且,安装的时候,还需要编译Python的header files,所以,在CentOS中,还需要安装python-devel包,即使用命令: yum insall python-devel
Mercurial的官方下载地址:http://mercurial.selenic.com/release/ 目前,最新版本为1.8.4
安装过程如下:
#下载安装包后,解压,进入Mercurial安装包目录
make all
make install
hg debuginstall
安装后,可能会提示如下错误:
此时再运行 hg debuginstall ,会出现
Checking username…
no username supplied (see “hg help config”)
(specify a username in your .hgrc file)
1 problems detected, please check your install!
不用担心,这是因为配置文件问题,你需要配置默认的配置文件.hgrc
安装包中自带了一个sample.hgrc,可以参考它的格式,在相应目录下,建立.hgrc文件,并把其中的用户名和邮箱地址,填为你自己的信息即可。保存后,再次运行hg debuginstall命令,检查是否安装成功。成功后,会显示如下类似信息:
Checking encoding (UTF-8)…
Checking extensions…
Checking templates…
Checking patch…
patching file hg-debuginstall-wCOuEs
Checking commit editor…
Checking username…
No problems detected
OK! 安装成功,可以运行hg命令,开始你的Mercurial之旅了!
后面的文章,我会大致介绍hg的使用方法……