Install Mercurial using the virtualenv tool that is outlined in the Installing Django documentation, but replacing "django" with "mercurial".
Once installed you'll need to create a ".wsgi" script that looks something like:
You'll also need to specify a hgweb.config that looks something like:
To place Mercurial behind CU WebAuth you'll need to modify your VirtualHost include to specify:
This configuration will allow un-authenticated users the ability to download and require CU WebAuth to update content. This does not do any type of authorization checks. It is expected that you would want to customize for your environment (i.e. specify a permit for authorized users).
From the client you'll need to first visit the "/davlogin/" URL