Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setup Mercurial Server in Windows Machine - Tutorials are outdated

Tags:

mercurial

I am refering to HgWebDirStepByStep, and trying to setup it in Windows machine (Windows 7).

  1. I can no longer download hgwebdir.cgi from http://www.mercurial-scm.org/repo/hg-stable/raw-file/tip/hgwebdir.cgi. The link is dead.
  2. I was told to modify hgwebdir.cgi content to sys.path.insert(0, "c:/dev/Mercurial/lib"), but I didn't found any folder in my latest Mercurial installation. I can only see there is a zip file on it.

Seems the information on the tutorial is pretty outdated. Any good guides for me to setup Mercurial server in Windows machine? As there is already an Apache in the server, I would like to make use of the Apache instead of IIS.

like image 589
Cheok Yan Cheng Avatar asked Aug 16 '11 03:08

Cheok Yan Cheng


1 Answers

By collecting information bits and bytes from every corners, I would like to summary the steps to setup mercurial server using Apache, with authentication feature.


I install mercurial-1.9.1.win-amd64-py2.6.exe


Add the following content to C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf

# Some comment so that you can find these settings later
ScriptAliasMatch ^/hg(.*) "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/hg/hgwebdir.cgi$1"
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/hg">
  Options ExecCGI FollowSymLinks
  AuthType Basic
  AuthName "AuthName for Mercurial"
  AuthUserFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/hg/passwd.txt"
  <Limit GET POST>
      require valid-user
  </Limit>
</Directory>

Create the following 4 files

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\hg\hgwebdir.cgi (Download from http://makinggames.ca/wp-content/uploads/2010/05/hgwebdir.txt and rename it to hgwebdir.cgi)

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\hg\hgweb.config with the following content.

[paths]
dummy1 = d:/mercurial-repo/dummy1
dummy2 = d:/mercurial-repo/dummy2

c:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\hg\passwd.txt (Refer to this guide http://sniptools.com/vault/windows-apache-and-htaccess-authentication)

c:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\hg.htaccess (Just leave the file empty)


Initialize repositories in

D:\mercurial-repo\dummy0
D:\mercurial-repo\dummy1

This can be done using TortoiseHg, by applying "Create Repository Here", through right click on folder D:\mercurial-repo\dummy0 and D:\mercurial-repo\dummy1


Access the mercurial through http://your-server:81/hg/

like image 129
Cheok Yan Cheng Avatar answered Jan 04 '23 13:01

Cheok Yan Cheng