Mercurial repositories hosting with different user access levels

I want to set a few Mercurial 'central' repositories on one machine.

There are few things I need to have working though:

  • Each repository should have its own ACL, with different users allowed to push/pull
  • It shouldn't be ssh-based (it shouldn't require users to have shell accounts on that machine)
  • So, I guess that leaves me with some https with basic authentication, right?

Are there any working solutions that provide this kind of functions?


You might want to try Fog Creek Kiln. Its not free, but nice. Sharesource also offers this functionality, but no private repositories. Sharesource (itself) is open source, so you could conceivably install it on an intranet if that's what you need.


These days, I would use RhodeCode to do what you want. It is free and open source and gives you a Bitbucket-like view of the repositories.

You can configure push/pull permissions on a per-repository basis or on a user group basis. It even supports LDAP, which is very nice in big organizations.


SCM-Manager (requires Java 1.6 on server side):

The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.

  • Very easy installation
  • No need to hack configuration files, SCM-Manager is completely configureable from its Web-Interface
  • No Apache and no database installation is required
  • Central user, group and permission management
  • Out of the box support for Git, Mercurial and Subversion
  • Full RESTFul Web Service API (JSON and XML)
  • Rich User Interface
  • Simple Plugin API
  • Useful plugins available ( f.e. Ldap-, ActiveDirectory-, PAM-Authentication)
  • Licensed under the BSD-License

It allows separate permissions per repository (it has no way to set permissions for a group of repositories, yet), and doesn't require user accounts defined on the server.