Install Mercurial using the virtualenv tool that is outlined in the Installing Django documentation, but replacing "django" with "mercurial". It is recommended that you create a separate instance/virtual host for running a mercurial server to isolate the environment.
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.
From your Mercurial client Instead of using your NetID password use the WebDav key (i.e. "WAA...").
When you need to sync the change back do the same steps of first going to "/davportal/".
Creating push back to Mercurial server.
Confirmation showing the use of "/davportal/".
Checking back in the web interface you can verify that the change has been committed.
You can also request that kproxy be enabled for your Mercurial server.