Mercurial是一个分布式的的版本控制工具。其自身提供了一个web服务端,但是没有权限控制功能。Mercurial-server可以弥补这个不足,它通过ssh来控制不同版本库的访问权限。需要注意的是Mercurial-server只能安装在linux系统上。
Ubuntu系统下的安装:
如果使用的是Ubuntu操作系统的话安装是非常简单的,只需要执行下面的命令:
$ sudo apt-get update
$ sudo apt-get install mercurial mercurial-server
Redhat系统下的安装:
这个相对来说会复杂一些,而且失败率非常高,按照官方文档的方法连第一步都无法通过。后来经过一番漫长的摸索终于安装成功了。这里和大家分享一下:
1、看到解压后的目录中含有Makefile,直接执行make,结果报错,无法成功安装;
2、分析Makefile中的内容,发现整个安装过程包含复制文件、创建用户、初始化用户等几个任务。接下来开始手工安装:
a.首先通过make命令进行文件复制:make pythonbuild pythoninstall
b.通过make执行创建用户任务会报错,所以直接使用系统命令创建:useradd hg
c.再通过make的inituser对用户进行初始化:make inituser
Mercurial-server安装成功后需要进行一定的配置:
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目录的权限设置为只读
特别需要注意的一点是:
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
参考资料:
http://dev.lshift.net/paul/mercurial-server/docbook.html
http://www.bookandman.com/2010/08/07/mercurial-server/
分享到:
相关推荐
tested: 1.7.5 Behind-the-firewall self-hosted Mercurial server and source control management system.
1. **安装Mercurial**:在服务器上安装Mercurial软件包,可以通过操作系统自带的包管理器或从官方网站下载源码编译安装。例如,在Ubuntu上,可以使用`apt-get install mercurial`命令进行安装。 2. **创建仓库**:...
### nogrk安装与配置详解 #### 一、概述 nogrk是一款开源的隧道服务工具,可以帮助用户在本地机器和互联网之间建立安全稳定的隧道连接。本文档将详细介绍nogrk的安装步骤及其在Linux环境下的配置方法,并针对微信...
ros-indigo-map-server ros-indigo-fake-localization \ ros-indigo-amcl git subversion mercurial 再启动:roslaunch rviz rviz -d `rospack find rbx1_nav`/fack_laser.rviz 这样就可以看到获取的激光数据了。
这通常通过在Nginx配置文件中添加或修改指令来完成,如`rtmp_server`、`rtmp_app`、`rtmp_stream`等。 3. **流媒体服务器**:了解RTMP(Real-Time Messaging Protocol)协议,它是Adobe Systems用于音频、视频数据...
**1.1 安装ROS Indigo** 在开始深入学习《Effective Robotics Programming with ROS》之前,首先需要搭建一个合适的开发环境。本书的学习笔记主要基于ROS (Robot Operating System) Indigo版本进行讲解。为了能够...
- **安装版本控制系统**:如Git或Mercurial,以便进行代码管理和版本控制。 - **安装调试工具**:如GDB或LLDB等,用于调试程序。 ##### 3. 配置开发服务 - **CVS Server**:CVS是早期流行的版本控制系统之一,可以...
接着,安装 MySQL 服务器,通过 `yum install mysql-server` 命令。创建数据库和用户,例如创建名为 "redmine" 的数据库,字符集设为 UTF8,并创建一个名为 "redmine" 的用户,赋予所有权限。这可以通过登录 MySQL ...
Visual SVN Server的安装过程包括: * 下载和安装Visual SVN Server * 配置Visual SVN Server的服务器设置 * 添加代码库StartKit ### 4. Visual SVN Server 安全设置 Visual SVN Server提供了安全设置功能,包括...
Neqo,一个用 Rust 编写的 QUIC 实现运行测试 HTTP/3 程序(neqo-client 和 neqo-server):cargo build./target/debug/...注意:如果没有单独编译 NSS,则需要安装 mercurial (hg)。NSS 构建需要 gyp 和 ninja(或 n
之后,通过设置相应的钩子,比如在server配置段中添加hgsnooper,就可以让hgsnooper在每次有新的服务请求时触发。 hgsnooper的输出通常包括提交者的用户名、更改的文件列表、提交消息等关键信息,这些信息可以帮助...
- Mercurial (hg4idea):类似于 Git 的分布式版本控制系统。 - Perforce:商业版本控制系统。 - Team Foundation Server (TFS):微软提供的源代码管理系统。 - Visual SourceSafe (VSS):微软早期的版本控制系统...
1系统环境 Xcode Oracle JDK:13 先确保系统已安装freetype和ccache 自由类型:2.9 ccache:3.3.5 $ brew install freetype ccache ...-- with - jvm - variants = server 编译server类型JVM -- wi
Ronin的一个显著特点是与多种源代码管理系统(如Git、SVN、Mercurial等)的无缝集成。SCM系统在软件开发流程中扮演着核心角色,它们帮助团队协作、跟踪代码变更、管理版本,并且便于回滚错误。通过Ronin,开发者可以...
- 首先,安装并配置SourceAnywhere Server。 - 接着,安装SourceAnywhere SVN Bridge,并设置桥接工具以连接到SourceAnywhere Server。 - 在SVN客户端中配置Bridge作为SVN服务器地址。 - 开始使用SVN客户端进行版本...
目录产品特点 :smiling_face_with_sunglasses: 与任何源代码控制系统(如Git,SVN,Mercurial等)一起使用。 :sparkles: 支持所有最新版本的Microsoft SQL Server 。 :wrapped_gift: 免费和开源!安装npm install -g...
- 其他版本控制系统包括:ClearCase、CVS、Mercurial (hg4idea)、Perforce、TFS 和 Visual SourceSafe。 **1.2 开发插件的选择** - **根据个人需求选择合适的插件** - **应用服务器视图**: 提供对不同应用服务器...