首页 > 代码库 > 在Windows2012下配置Mercurial

在Windows2012下配置Mercurial

所需的安装文件:

  • xampp-win32-1.8.3-4-VC11-installer.exe
  • python-2.7.7.amd64.msi
  • tortoisehg-3.0.1-x64.msi
  • mercurial-3.0.1.win-amd64-py2.7.exe
  • mercurial-3.0.1-x64.msi
  • server-jre-8u5-windows-x64.tar.gz

1.     使用TortoiseHg建立一个版本库:在D:下建立hg文件夹,进行D:\hg,右击,选择TortoiseHg | Create Repository Here。

2.     在C:\xampp\htdocs下建立一个文件夹,hgweb

3.     在C:\xampp\htdocs\hgweb中建立hgweb.cgi文件,内容如下(最新的内容可http://www.selenic.com/hg/file/tip/hgweb.cgi找到):

    • 将首行改成指向python.exe位置

#!C:/Python26/python.exe

    • 去掉第十行的注释

importcgitb; cgitb.enable()

    • 第六行的注释:# Path to repo or hgweb config to serve (see ‘hg help hgweb‘),是说config变量可以指向仓库,也可以指向一个配置文件。先简单点,指向仓库,将第七行改为

config= "D:/hg"

    • 安装mercurial-3.0.1.win-amd64-py2.7.exe,显示安装在C:\Program Files\Lib\site-packages,将

importsys; sys.path.insert(0, "C:/xampp/mlib")

改为

importsys; sys.path.insert(0, "C:/Python26/Lib/site-packages")

  1. 修改Apache的配置文件http.conf,在最后添加一行

ScriptAlias /hg "C:/xampp/htdocs/hgweb/hgweb.cgi"

  1. 不过这样只能访问一个库,想访问多个库,需要使用hgweb.config文件,hgweb.cgi中将config变量赋值为hgweb.config

<span style="white-space:pre">		</span>config= "hgweb.config"

  1. hgweb.config文件内容为

[collections]
D:/hg= D:/hg
 
[web]
allow_push= false 
allow_pull= false 
allow_read= false 
push_ssl= false 
style= gitweb 

  1. 用htpasswd.exe建立用户密码文件。htpasswd.exe在apache的bin目录可以找到,使用方法主要有
    • htpasswd -c 文件名 用户名               //参数-c创建密码文件,输入后会提示你输入密码
    • htpasswd 文件名 用户名                 //如果用户名一样会更新密码

举个例子,我现在要建两个用户

htpasswd-c hguser fatkun.com
htpasswdhguser aaaa

这时会得到一个hguser的文件,把它拷贝到conf目录下

  1. 在httpd.conf配置末尾加上

<Location/hg> 
AuthType Basic 
AuthName "Mercurialrepositories" 
AuthUserFile"D:/JAVASoftTool/xampplite/apache/conf/hguser" 
Require valid-user 
</Location> 

 


另外解压server-jre-8u5-windows-x64.tar.gz文件,加上JAVA_HOME、Path等环境变量后XAMPP中的tomcat还是无法启动,需要将注册表中HKEY_LOCAL_MACHINE\Software\JavaSoft\JavaRuntime Environment\ 添加

JavaHome REG_SZ C:\JAVA



参考文件:

在Windows使用apache搭建Mercurial WEB版本控制服务 

Mercurial(HG)版本控制服务用户名验证

apache搭建Mercurial(HG)版本控制服务及权限控制

java配置环境中jdk和jre