How to setup a mercurial repo for a public website on apache?

view full story

http://serverfault.com – We have apache server which serves a site from public_html/site/ We would like to have a mercurial repo in the same dir, so that we could push our changes directly to the server. So far I setup a hgweb.wsgi script and I can push and pull from the repo without any problems. Problems start when I want to add an authentication. Both read and write access to the repo should be forbidden for unauthorized users. Mercurial help mentions using HTTP auth, well, I can create .htaccess with .htpasswd, and place them in public_html/site/, but that would make the website not accessible. Please help. (HowTos)