在CentOS 5/Redhat 5上安装Mercurial(HG)

作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!
2012-外伶仃岛山顶的石头

上次在RedHat中安装Mercurial(HG)已经是两年前的事情了,这两天协助测试组的同学搭建自动化测试环境,顺便整理了一下安装过程。安装非常简单,看一下README文件和Makefile脚本就可以了。

环境

  • RedHat-5.x / CentOS-5
  • Python2.4~2.7
  • Mercurial(HG)1.9 ~ 2.6.1

说明:RedHat-5中已经预装了Python2.4。

安装Mercurial(HG)

1、下载Mercurial源码。

1
wget http://mercurial.selenic.com/release/mercurial-2.6.1.tar.gz

2、解压。

1
tar -zxvf mercurial-2.6.1.tar.gz

3、修改Makefile

1
vi Makefile

找到PREFIX=/usr/local,将其中的/usr/local改成实际的安装目录。

4、编译安装

1
make install

看到屏幕输出如下内容说明安装成功。

creating /home/nieyong/local/mercurial-2.6.1/bin
copying build/scripts-2.7/hg -> /home/nieyong/local/mercurial-2.6.1/bin
changing mode of /home/nieyong/local/mercurial-2.6.1/bin/hg to 775

注:需先安装python-docutils,否则Mercurial的文档会生成失败,报如下错误:

abort: couldn’t generate documentation: docutils module is missing
please install python-docutils or see http://docutils.sourceforge.net/
make[1]: [hg.1] 错误 255
make[1]: Leaving directory `/home/nieyong/download/build/mercurial-2.6.1/doc’
make:
[doc] 错误 2

5、测试安装结果

进入Mercurial的安装目录下的bin子目录。执行命令:

1
hg version

输出如下内容:

分布式软件配置管理工具 - 水银 (版本 2.6.1)
(see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2012 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

配置Mercurial(HG)

除了当前项目本地仓库(.hg)目录下.hgrc配置文件外,Mercurial会使用当前用户目录下的.hgrc配置文件,里面可以配置使用kdiff3用作比较和合并工具,使用reviewboard作为Code Review工具。

Mercurial(HG)基本命令

1、克隆项目

1
hg clone 项目远程仓库URL 项目本地目录

例:

1
hg clone https://hg.aofeng.local/repos/app-monitor app-monitor

2、获取项目最新代码

1
hg pull

说明:
如果要拉取指定changeset(tag)的代码,增加-r参数指定changeset的编号。如:hg pull -r d7aab9942c8d

3、添加准备提交的文件

1
hg add [选项]... [文件]...

例:

1
hg add src/Hello.java src/Buyer.java

5、提交文件至仓库

1
hg commit [选项]... [文件]...

例:

1
hg commit -m "初始化版本" src/Hello.java src/Buyer.java

6、合并代码

1
hg merge

说明:

  • 如果自动合并失败,会调用指定的合并代码工具进行手动合并。