I just had to install a fresh Mercurial instance yesterday, here’s updated instructions for 1.7:
- Install Mercurial (these instructions were tested with 1.7)
- Install Python (for Mercurial 1.7, you must use the x86 version of Python 2.6.6)
- You will need to download the hgweb.cgi file from the Mercurial source. You can download the source by running:
hg clone https://www.mercurial-scm.org/repo/hg/
-
Create a folder that will be your web application folder. You will need to copy three things into this folder:
- The hgweb.cgi file
- The contents of the Library.zip from your “C:\Program Files\Mercurial” folder
- The Templates folder from your “C:\Program Files\Mercurial”
-
You will need to make sure you have Python set up in IIS.
- Enable CGI via the following: Control Panel -> Turn Windows Features On or Off -> Roles -> Web Server (IIS) -> Add Role Services -> Check CGI
- Create a new Web Site in IIS and make sure the physical path is the folder you created above
- In the Handler Mappings for the new website, select “Add Script Map”. Enter *.cgi for the request path, c:\Python26\python.exe -u “%s” for the Executable, and Python for the Name.
-
You will also need to create a file named “hgweb.config” with contents similar to below. The path within the file needs to be the location on your drive where you want to store the Mercurial repositories:
[collections]
c:\Mercurial\repos = c:\Mercurial\repos -
Edit the hgweb.cgi file and change the line where it sets the path to your hgweb.config to something like the following (wherever the hgweb.config file is):
config = “C:\Mercurial\hgweb.config”
- Now, open a browser and navigate to http://localhost/mercurial/hgweb.cgi (or whatever is the appropriate URL path you set up in IIS) and you should see the Mercurial Repositories page.
Also, check out Jeremy Skinners blog post . It’s a little outdated, but has some extra nice steps like setting up URL re-writing for cleaner URL’s.