这个工具在国内很少人使用,所以中文资料匮乏.只有官方的website上有一些少得可怜的中文资料了.不过总体上来说,hg还是比较好用的。
我最近也用到了它的配置,所以就顺便整理了一下,这里绍一下hg服务器的配置。关于hg在基本用法参见mercrial的官方网站。这里只说怎么做,不解释为什么。在做以下操作时,请到 http://www.selenic.com/mercurial/下载安装hg.
1.建立用户hgrepo
其它用户将用这个账户用hg服务器push代码。
useradd hgrepo -d /home/hgrepo # add user hgrepo
passwd hgrepo
2.建立hg代码仓库
如果代码仓库名称为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
3. 打开http
打开一个端口,让远程用户可以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 &
可将上面两行加入/etc/rc.local这样就可以在开机的时候自动运行了。
4.使用hg
完成步骤3以后,我们就可以使用了。
clone到本地
例如你的服务器的名字为test.
hg clone http://test:8002
然后在本地目录就会出现一个project.hg的一个copy.
修改Client端的配置
更改.hg/hgrc,加上default-push和username
[paths]
default = http://test:8002
default-push = ssh://hgrepo@test//home/hgrepo/project.hg/
[ui]
username=shaohui.zheng
这样你就可用hg push 向服务器提交code了。这时服务器会问你passward,这个password就是用户hgrepo的password.
Good Luck.
官方网站
http://www.selenic.com/mercurial/