常见的版本控制软件如svn server(svn),vss administrator(vss),都是需要一个中心服务器的,但分布式版本控制软件如Mercurial则不需要。当然,在实际使用中,一般还是要人为的指定一个中心库以作为发布服务器。 分布式最大的好处就是可以离线工作,Mercurial可以直接本地创建资源库,先在本地做提交。待能连中心服务器或者需要时,再提交到中心服务器。
Mercurial表示墨丘利,墨丘利是罗马神话中为众神传递信息的使者,Mercurial的命令行工具是Hg。Mercurial的详细介绍网上已经很多了,这里就不赘述了,这里主要讲一下如何快速入门和使用。
注: 以下操作在CentOS 5.6 i386下进行,Mercurial 版本为1.8.4。
Windows下TortoiseHg 版本为2.0.3。
- 首先是安装,最快的方法是用yum安装Mercurial。
yum install mercurial
CentOS官方安装源不包括Mercurial,但包含在rpmforge库中,参见http://mercurial.selenic.com/wiki/Download =》 1.4. Linux (.rpm)
若yum未安装rpmforge安装源,可以参见本人另一篇随笔《yum快速入门-为yum添加常用插件及rpmforge安装源》
- 检查安装
查看版本[root@svn_server mercurial]# hg --version
检查安装[root@svn_server mercurial]# hg debuginstall - 创建用户
useradd hguser -d /home/hguser
passwd hguser - 建立hg代码库
mkdir -p /usr/hg/myproject
cd /usr/hg/myproject
hg init
- 测试
echo "hello world!" > readme.txt
hg add # add
hg ci # check in - 启动http server
chown hguser:hguser -R /usr/hg/myproject
cd /usr/hg/myproject
hg serve -p 8000 & - 访问http
http://yourip:8000
----------------------------------------------------------------------------------
如果windows下要访问该hg项目,可以下载安装TortoiseHg 。TortoiseHg安装后,可以集成在资源管理器的右键菜单中,使用Clone功能,可以将服务器上的项目复制下来,如下图:
Clone时,源为远端服务器(可以通过ssh获取),目标为本地空目录
右键菜单中的Hg Workbench 窗口中,可以进行项目的pull(checkout下载)和push(checkin上传)
在Pull 后,默认情况下Mercurial 不会更新工作目录,需要Hg Workbench中执行Update操作。
--------------------------------------------------------
另,Mercurial还可以与Redmine集成。
Redmine中配置Mercurial
配置完后,从Redmine中可以查看Mercurial的版本库