最近下载了一个Google开源库的源代码,看到里面有个.hg文件夹,里面有一些这样的文件:
不知道这些文件都是干嘛的,打开看了下也看不懂,于是google了下发现是版本控制系统Mercurial的文件,以前只听说过CVS(现在基本已淘汰)、SVN和Git这三种版本控制系统,不知道Mercurial为何物,于是就稍微学习了下。
Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。相对于传统的版本控制,具有如下优点:
这个工具在国内很少人使用,所以中文资料匮乏.不过国外使用的人还是不少,比如Google,总体上来说,hg还是比较好用的,属于轻量级的,适合一些小型项目。
这里简单介绍一下hg服务器的配置。关于hg在基本用法参见mercrial的官方网站。
在做以下操作前,请先到官方网站下载安装hg。下面在Ubuntu 13.04下测试成功。
其它用户将用这个账户在hg服务器上push代码。
useradd hgrepo -d /home/hgrepo # add user hgrepo passwd hgrepo
如果代码仓库名称为project.hg,则可用如下命令建立仓库文件夹及初始化代码仓库。
cd /home/hgrepo mkdir project.hg cd project.hg hg init # 初始化代码仓库
echo "hello, mercurial" > sample.txt hg add # add hg ci # check in
打开一个端口,让远程用户可以clone仓库中的代码,在打开端口前请确定文件权限正确。
更改文件权限
chown hgrepo.hgrepo /home/hgrepo/project.hg -R chmod og+rw /home/hgrepo/project.hg -R
cd /home/hgrepo/project.hg -R hg serve -p 8002 &
完成步骤2以后,我们就可以使用了。
例如你的服务器的名字为test,则用hg clone命令克隆到本地
hg clone http://test:8002
更改.hg/hgrc,加上default-push和username字段
[paths] default = http://test:8002 default-push = ssh://hgrepo@test//home/hgrepo/project.hg/ [ui] username=shaohui.zheng
上面只是简单的使用,具体的配置选项及其它命令选项请参考mercrial的官方网站。
http://www.oschina.net/p/mercurial/
http://blog.csdn.net/linxxx3/article/details/5989807
作者:Alexia(minmin)
CSDN:http://blog.csdn.net/lanxuezaipiao
博客园:http://www.cnblogs.com/lanxuezaipiao/
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
否则保留追究法律责任的权利