I've attempted to host a Mercurial HG repository utilizing a Scriptalias.

ScriptAlias /hg/ "htdocs/hgwebdir.cgi"

Basically visit Chrome it display the items in the cgi file. In IE it will render however images and links aren't displayed. Either in situation the repository I wish to display isn't proven.

Has anybody handled to obtain this dealing with VisualSVN? Will also the work basically have home windows authentication and https?

Here is a alternative setup using mod_wsgi (fast!), combined repository directory, and you will manage Mercurial repository level access in the VisualSVN Server GUI.

Download mod_wsgi.so for Apache 2.2 Win32 and put in "C:Program FilesVisualSVN Serverbin".

Copy hgwebdir.wsgi out of your Mercurial installation (contrib directory) to "C:Program FilesVisualSVN Server"And need to look something similar to this:

import sys

sys.path.place(, "C:Program FilesMercuriallibrary")

from mercurial.hgweb.hgwebdir_mod import hgwebdir

application = hgwebdir('hgweb.config')

Create the config file "C:Program FilesVisualSVN Serverhgweb.config".


/ = c:/Databases/*

Paste the next in "C:Program FilesVisualSVN Serverconfhttpd-custom.conf". You need to adjust the Auth* values in line with the portion of httpd.conf.

LoadModule wsgi_module bin/mod_wsgi.so

WSGIScriptAlias /hg "hgwebdir.wsgi"

<Location /hg/>

    AuthName "Mercurial Databases"

    AuthType VisualSVN

    AuthzVisualSVNAccessFile "C:/Databases/authz-home windows"

    AuthnVisualSVNBasic on

    AuthnVisualSVNIntegrated off

    AuthnVisualSVNUPN Off

    SVNParentPath "C:/Databases/"

    require valid-user


Produce a Mercurial repository:

hg init C:Repositorieshgtest

You need to now have the ability to access /hg using your browser, and manage repository level authorization with the VisualSVN Server tool.

Presuming you've Python 2.6 installed and dealing, listed here are the steps which i required.

Obtain "mod_cgi.so" designed for Apache 2.2 Win32 and put it in "C:Program FilesVisualSVN Serverbin".

Paste the next in "C:Program FilesVisualSVN Serverconfhttpd-custom.conf"

LoadModule cgi_module bin/mod_cgi.so

ScriptAliasMatch ^/hg(.*) "cgi-bin/hgwebdir.cgi$1"

Create the cgi-bin directory, "C:Program FilesVisualSVN Servercgi-bin". And put hgwebdir.cgi inside it. Make certain it's like the following:

#!c:/Python26/python.exe -u

import sys

sys.path.place(, "C:Program FilesMercuriallibrary")

import cgitb


from mercurial.hgweb.hgwebdir_mod import hgwebdir

import mercurial.hgweb.wsgicgi as wsgicgi

application = hgwebdir('hgweb.config')


Produce a file known as hgweb.config within the cgi-bin directory.


/ = c:/HgRepositories/*

Replicated "C:Program FilesMercurialtemplates" to "C:Program FilesMercuriallibrarytemplates".

Create "C:HgRepositories" folder and "hg init c:HgRepositoriestest".

Restart VisualSVN Server, open browser, enjoy your Mecurial repository.

You are able to run hgwebdir behind different authentication and https modules all right, provided your webserver handles them prior to the REMOTE_USER variable is handed on the CGI.

I'm not sure visualsvn, your ScriptAlias looks nearly the same as Apache. Do you want an AddHandler line for .cgi?