火速配置完成mercurial(Hg)中心版本库,支持push/pull
2010-04-01 11:21
531 查看
虽然ssh方法非常完全,却不敏捷。。SCM基本上是只增不减的东西,所以支持push非常重要!
最好懂的方法是用hg serve,不过他不支持push,好吧。。而且默认端口是8000,我们要的是80,因为方便输入。。
所以。。最快的办法是在版本库目录输入:
echo "[web]" >>.hg/hgrc
echo "allow_read = *" >>.hg/hgrc
echo "allow_push = *" >>.hg/hgrc
echo "push_ssl = false" >>.hg/hgrc
然后再hg serve (如果你可以用80端口,用hg serve -p 80)也可以。
当要配置的hg库超过两个时,用hg serve就不如用hgwebdir.cgi方便了(你问为什么不用hgweb.cgi,啊,
都这样了,当然选更复杂更强大的方案啦)。
在这里只说和apache2集成的方法,支持basic用户认证。
首先安装好apt-get install apache2 mercruial,再用hg clone http://selenic.com/repo/hg拿到hgwebdir.cgi。。
--把hgwebdir.cgi放到/var/www,(默认的web根目录)
--修改apache2中心配置(一般在/etc/apache2/site-available/default),加入一行:
ScriptAlias /hg "/var/www/hgwebdir.cgi"
--对中心仓库我们选用任读限写的模式,所以在apache中还要加一些配置:
最好懂的方法是用hg serve,不过他不支持push,好吧。。而且默认端口是8000,我们要的是80,因为方便输入。。
所以。。最快的办法是在版本库目录输入:
echo "[web]" >>.hg/hgrc
echo "allow_read = *" >>.hg/hgrc
echo "allow_push = *" >>.hg/hgrc
echo "push_ssl = false" >>.hg/hgrc
然后再hg serve (如果你可以用80端口,用hg serve -p 80)也可以。
当要配置的hg库超过两个时,用hg serve就不如用hgwebdir.cgi方便了(你问为什么不用hgweb.cgi,啊,
都这样了,当然选更复杂更强大的方案啦)。
在这里只说和apache2集成的方法,支持basic用户认证。
首先安装好apt-get install apache2 mercruial,再用hg clone http://selenic.com/repo/hg拿到hgwebdir.cgi。。
--把hgwebdir.cgi放到/var/www,(默认的web根目录)
--修改apache2中心配置(一般在/etc/apache2/site-available/default),加入一行:
ScriptAlias /hg "/var/www/hgwebdir.cgi"
--对中心仓库我们选用任读限写的模式,所以在apache中还要加一些配置:
<Location /hg> AuthType Basic AuthName "Mercurial repositories" AuthUserFile /var/www/hgusers <LimitExcept GET> Require valid-user </LimitExcept> </Location>
--编辑文件/var/www/hgweb.config,内容为(设定hg仓库集中在/var/hg/repo目录下): [collections] /var/hg/repo=/var/hg/repo [web] allow_push = * push_ssl = false --添加两个用户的方法,是运行htpasswd命令: #rm /var/www/hgusers (如果想清空用户名) htpasswd -c /var/www/hgusers user1 (首次要加-c) htpasswd /var/www/hgusers user2
--提下来别忘了重要的:加上文件权限 chmod a+r /var/www/hgusers chmod a+x /var/www/hgwebdir.cgi chmod a+r /var/www/hgweb.config chmod -R a+w /var/hg/repo 好了,restart apache2,再访问http://localhost/hg,应该可以看到仓库列表, 并且支持user1和user2的push,和匿名的pull了。 P.S: 以上配置应对的是最简单的情况,如有疑问,可以留言,或参阅: http://mercurial.selenic.com/wiki/PublishingRepositories#multiple 希望mercurial(Hg)越来越好~~~
相关文章推荐
- Xcode8 配置 Deployment Target 支持7.0及更低版本
- <2012 12 05> FL2440开发板的U-boot-2010.09版本移植(五)支持DM9000网卡和板级相关LED等配置
- Mercurial(Hg)分布式版本控制的快速入门
- IHS配置安全漏洞: 支持不推荐使用的 SSL 版本、在降级的旧加密上填充 Oracle、检测到 RC4 密码套件、支持弱 SSL 密码套件、 重构 RSA 导出键(又称为 FREAK)
- Mercurial(Hg)分布式版本控制的快速入门(转)
- Tomcat从5.5版本 支持以下四种Connector的配置分别为:
- ruby on rails与MySql的环境配置——支持rails 2.3.5以上版本
- Docker 创建私有仓库,并支持HTTPS进行push | pull | login
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- Mercurial hg web server的配置
- git clone/版本库之间的push与pull
- Mercurial(HG) Windows+Eclipse安装、配置、使用
- Mercurial(Hg)分布式版本控制的快速入门
- android代码管理工具 HG Mercurial commit之前没有pull,冲突解决
- QQ2009聊天文本记录器 完成发布,支持目前最新的QQ2009 SP1版本。
- 记一次lnmp经历 nginx 多个php版本支持配置
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- SharePoint2007 安装完成后,管理中心 出现"服务器场配置未完成" 的红字
- SSH完成配置 struts1版本
- HG:Mercurial - 分布式版本控制系统