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?

link|improve this question

75% accept rate
feedback

3 Answers

up vote 4 down vote accepted

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.

link|improve this answer
feedback

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.

link|improve this answer
feedback

SCM-Manager:

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)

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.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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