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?

4 Answers 4


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.

  • RhodeCode is Python - it's not the easiest task to run in on ordinary box (imagine default Win-station, for example) Jan 10, 2013 at 11:14

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.

  • 1
    It is worth noting existence of scm-branchwp-plugin and scm-pathwp-plugin, which allow more fine-grained ACLs - for (write) accessible repository some parts (branches or plain paths) can be write-protected Jan 10, 2013 at 11:18
  • 1
    +1 for most lightweight solution, even if it require Java on host Jan 10, 2013 at 11:20

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

  • Woah - one sure fire way to bring yourself to the attention of the systsem is to post the exact same answer to multiple questions - it makes you look like a spammer.
    – user9517
    Jan 10, 2013 at 10:54
  • Actually - having read one of your earlier answers I do think you're borderline spamming now so be very careful about making identical posts and also telling people that this service is yours.
    – user9517
    Jan 10, 2013 at 10:58
  • I can't see any mentions for ACLs deeper than Repository in HgLab Jan 10, 2013 at 11:04
  • @Iain Sorry for that. You can delete these altogether. Jan 10, 2013 at 11:04
  • @LazyBadger True, it's not mentioned, but HgLab supports "standard" Mercurial ACLs where you can specify branch and path-level permissions. Jan 10, 2013 at 11:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .