mercurial一---ubutu mercurial 安装

本文详细介绍了如何在Ubuntu系统上搭建Mercurial版本控制系统服务器的过程,包括安装配置Apache2和Mercurial、设置权限、创建代码仓库及导入实际代码等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端

fedora:

yum install mercurial

ubuntu:

apt-get install mercurial

中心服务器

操作基本都是用root,除非特别说明。

1。首先安装apache2和mercurial

aptitude install apache2
aptitude install mercurial

2。配置hg给apache用的cgi文件

cd /data
mkdir hg
chown -R www-data:www-data hg
cd hg
cp /usr/share/doc/mercurial/examples/hgweb.cgi .
chmod a+x hgweb.cgi
vi hgweb.cgi
config = "/data/hg/hgweb.config"

3。配置hg web

vi hgweb.config
[collections]
/data/hg = /data/hg

4。配置apache

cd /etc/apache2/sites-available
vi default

在</VirtualHost>前面加入:

ScriptAlias /hg "/data/hg/hgweb.cgi"
<Location /hg/repos>
                AuthType Basic
                AuthName "Mercurial repositories"
                AuthUserFile /data/hg/repos/hgusers
                Require valid-user
</Location>

5。建立资源库集目录并设置访问权限

cd /data/hg
mkdir repos
chown www-data.www-data repos
cd repos
htpasswd -mc hgusers admin

这是给这个库集设定访问用户admin,回车后输入密码。除了添加第一个用户时使用-mc参数外,添加后续用户用-m(建htpasswd用法)

6。建立测试库

su - www-data
cd /data/hg/repos
mkdir test
cd test
hg init

7。允许http push

vi /etc/mercurial/hgrc
[web]
allow_push = *
push_ssl = false

8。重启apache2并测试http://[your server]/hg/应该就能看到我们刚建立的测试库repos/test。如有问题查看/data/log/apache2/error.log

9。建立其它库集并设置不同权限就是上面repos相关的翻版,上面建立的第一个库集repos,例如我要再建立一个库集cmn:在/etc/apache2/sites-available/default中加入:

<Location /hg/cmn>
                AuthType Basic
                AuthName "Mercurial repositories"
                AuthUserFile /data/hg/cmn/hgusers
                Require valid-user
</Location>

然后重复上面5,6,只是把repos改成cmn,重启apache。不同库集的权限由相应目录下面的hgusers文件决定。

10。导入实际的代码

首先如上所示建立空的服务器存储路径并hg init,然后客户端本地实际代码所在目录也hg init,然后push到服务器地址即可。

Note: 如果web中查看代码中文显示有问题,可以改一下hgweb的编码设置(改完别忘了重启apache):

To change the encoding of served content, you can either change the locale under which hgweb operates, or you can add the following to the hgweb.cgi script before lines which start with from mercurial import.

For example:

import os
os.environ["HGENCODING"]="UTF-8"

参考:

Setting up central Mercurial server in Ubuntu

ubuntu上建立Mercurial/hg中心服务器 Apache2+hg

Publishing Mercurial Repositories

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值