Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to setup a central Mecurial repository on a Windows 2008 server which only allows both push and pull access to certain users. This is to allow developers working remotely to push/pull changes through the central repository while working remotely.

share|improve this question

This situation is fairly well documented. Check out the "Collaborating with other people" section of the very useful HG Book.

In short, you can configure ssh access to the Mercurial repository, and limit access to specific users.

Some more reference guides:

share|improve this answer

We have mercurial running on Windows Server 2003 and IIS. It is working well for us.

For access control, you have two main options:

  1. Maintain an access control list for push and pull in the hgrc file for each repository.
  2. Restrict access using IIS integration with Active Domain.

You can mix and match these solutions for even more control.

share|improve this answer

This 4 part blog post I wrote a few months back should get you up and running, I wrote it for Windows Server 2003 and IIS, but the techniques are mostly the same:

You'll come across a couple of minor differences on IIS 7, but the theory is all the same.

It covers everything, from the basics of installing and configuring Mercurial for IIS, to Active Directory integration, ISAPI rewriting to hide ugly URLs, customization of the UI to make it look prettier. It should get you up and running.

share|improve this answer

You can try HgLab: it's a hosted Mercurial server with pull and push support, access control and Active Directory integration.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.