首页 > 代码库 > 在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
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 文件名 用户名                 //如果用户名一样会更新密码

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

  1. htpasswd -c hguser fatkun.com  htpasswd hguser 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