Mercurial-server的安装

Mercurial是一个分布式的的版本控制工具。其自身提供了一个web服务端,但是没有权限控制功能。Mercurial-server可以弥补这个不足,它通过ssh来控制不同版本库的访问权限。需要注意的是Mercurial-server只能安装在linux系统上。

[size=large][b]Ubuntu系统下的安装:[/b][/size]
如果使用的是Ubuntu操作系统的话安装是非常简单的,只需要执行下面的命令:

$ sudo apt-get update
$ sudo apt-get install mercurial mercurial-server


[size=large][b]Redhat系统下的安装:[/b][/size]
这个相对来说会复杂一些,而且失败率非常高,按照官方文档的方法连第一步都无法通过。后来经过一番漫长的摸索终于安装成功了。这里和大家分享一下:
1、看到解压后的目录中含有Makefile,直接执行make,结果报错,无法成功安装;
2、分析Makefile中的内容,发现整个安装过程包含复制文件、创建用户、初始化用户等几个任务。接下来开始手工安装:

a.首先通过make命令进行文件复制:make pythonbuild pythoninstall
b.通过make执行创建用户任务会报错,所以直接使用系统命令创建:useradd hg
c.再通过make的inituser对用户进行初始化:make inituser


[size=large][b]Mercurial-server安装成功后需要进行一定的配置:[/b][/size]
1、切换到hg用户下;
2、创建权限控制的基本文件/etc/mercurial-server/access.conf,并输入以下内容

init user=root/**
deny repo=hgadmin
write user=users/**

3、将自己的ssh公钥复制到版本库服务器的/etc/mercurial-server/keys/root/user-name/目录中
4、创建~/.ssh目录
5、执行/usr/local/share/mercurial-server/refresh-auth进行权限刷新
6、将~/.ssh目录的权限设置为只读


[size=large][b]特别需要注意的一点是:[/b][/size]
mercurial-1.9.1与mercurial-server有兼容问题,即会报这样一个错误:

remote: Traceback (most recent call last):
remote: File "/usr/local/share/mercurial-server/hg-ssh", line 76, in <module>
remote: dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
remote: File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 31, in dispatch
remote: if req.ferr:
remote: AttributeError: 'list' object has no attribute 'ferr'
abort: no suitable response from remote hg!

如果出现这个错误,换用1.8.4版本便可以解决。


此外,我在安装mercurial-1.9.1的时候报了一个错误:docutils module is missing。这时需要安装一下这个模块,安装方法如下:

# wget http://prdownloads.sourceforge.net/docutils/docutils-0.7.tar.gz?download
# tar -zxf docutils-0.7.tar.gz
# cd docutils-0.7
# python setup.py install



[size=large][b]参考资料:[/b][/size]
[url]http://dev.lshift.net/paul/mercurial-server/docbook.html[/url]
[url]http://www.bookandman.com/2010/08/07/mercurial-server/[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值