Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

4 Answers 4

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.

share|improve this answer

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.

share|improve this answer
    
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

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.

share|improve this answer
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

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
    
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. –  Iain 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. –  Iain 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

Your Answer

 
discard

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.