6

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?

kender
  • 287
  • 1
  • 5

4 Answers4

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.

Tim Post
  • 1,525
  • 13
  • 25
1

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.

Martin Geisler
  • 1,271
  • 9
  • 23
  • RhodeCode is Python - it's not the easiest task to run in on ordinary box (imagine default Win-station, for example) – Lazy Badger Jan 10 '13 at 11:14
1

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.

alexandrul
  • 1,435
  • 2
  • 19
  • 25
  • 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 – Lazy Badger Jan 10 '13 at 11:18
  • 1
    +1 for most lightweight solution, even if **it require Java on host** – Lazy Badger Jan 10 '13 at 11:20
0

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

Anton Gogolev
  • 1,582
  • 4
  • 16
  • 22
  • 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 '13 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 '13 at 10:58
  • I can't see any mentions for ACLs deeper than Repository in HgLab – Lazy Badger Jan 10 '13 at 11:04
  • @Iain Sorry for that. You can delete these altogether. – Anton Gogolev Jan 10 '13 at 11:04
  • @LazyBadger True, it's not mentioned, but HgLab supports "standard" Mercurial ACLs where you can specify branch and path-level permissions. – Anton Gogolev Jan 10 '13 at 11:05
  • ACLs **are not standard in Mercurial** (at this level - doesn't enabled from a box), it's additional Extension – Lazy Badger Jan 10 '13 at 11:08
  • @LazyBadger That's why I quoted "standard" -- at least it's bundled with Mercurial. HgLab, however, requires no additional "extensions" or configuration to interpret those correctly. – Anton Gogolev Jan 10 '13 at 11:11
  • @AntonGogolev: If I (or you) delete too much you may well end up being auto banned by the system so leave it as it is for now - lesson learned and all that. – user9517 Jan 10 '13 at 11:18