Mercurial Source Control Hosting Providers

Our small consulting company uses the Mercurial source control system, and we needed to find a website that would host our repositories on the cheap.

The providers you hear the most about, such as Bitbucket and Google Code, are geared towards personal and not corporate use.   For example, Bitbucket *does* have private repositories, but makes you permission each person individually to each repository — which sucks when you’ve got a bunch of repositories.   Ideally you want everyone on your team to automatically see new repositories.

Here were some of our criteria:

  • supports multiple logins under one master account
  • closer to 10 bucks a month than 100
  • online code browser and code diff
  • creates private repos by default (unlike Bitbucket which creates public ones)
  • user groups, so that we can permission all the employees of our outsourcing partner to specific repos easily, and revoke it just as easily
  • wiki would be nice
  • nice to have:  organize multiple Mercurial repositories into a single project

The Verdict

Below we evaluate the contenders and their pros and cons.
However, let’s get straight to the point and say that  RepositoryHosting.com and CodebaseHQ were the two top choices by a long shot.  If your requirements are anything like ours you should check them both out.
Finally we chose RepositoryHosting.com, even though we found CodeBaseHQ’s UI much more pleasing.  Why?
  • RepositoryHosting.com has permissionable usergroups
  • RepositoryHosting.com is cheaper

CodebaseHQ

£  5/mo /  3 projects / 500MB / unlimited repos  /          10 users
£13/mo / 15 projects /    2GB / unlimited repos  / unlimited users
£21/mo / 30 projects /    4GB / unlimited repos  / unlimited users
£40/mo / 60 projects /  10GB / unlimited repos  / unlimited users
Thoughts:
  • Nice UI, simple and helpful
  • Love that a single project can contain multiple repositories
  • Excellent visual diff tool
  • Good user setup, very easy to add a SSH key
  • Doesn’t have usergroups

RepositoryHosting

$6/mo unlimited users, 2GB.  $1/mo for each additional GB.
Thoughts:
  • Good user controls.  It’s quite easy to create group of users and permission them to one project, or even a category or projects.
  • We liked that you can archive projects, which gets important as time goes on.
  • We liked that you can have different project groups, which auto-apply different settings to the projects
  • We didn’t like that a project can have only one repo
  • It uses Trac for each project, which is ancient but it’ll do
  • The whole thing’s a little pokey and sluggish
  • UI’s a little archaic feeling, as it Trac itself
  • The UI’s not well integrated. For example, to get to the list of commits you have to go into yet another area with its own authentication, a website produced by the hg application itself

RepositoryHosting VS CodeBaseHQ

Pros for CodeBaseHQ

  • CodeBaseHQ very nicely namespaces the repositories within a project, so we can create a project called Customer and have all of their repositories within it.
  • The UI is miles better than RepositoryHosting:  instead of each repo having separately authenticated sites for trac and the hg browser, it’s all one smooth thing.
    • For example, I appreciate how my dashboard shows a combined list of all the commits and status messages across all projects, and each status message is fully hyperlinked to the stuff it talks about.

Pros for RepositoryHosting

  • It’s cheaper.
    • CodeBase makes you pay more for more projects.  RepositoryHosting it’s purely by the GB.
  • It has user groups and CodeBase doesn’t.
    • This is really needed for the Infocepts scenario.
  • CodeBaseHQ takes a few clicks to get to the list of repositories
  • A little easier to see what hg commands are available

Rejected Providers

Versionshelf

http://www.versionshelf.com/ 

$19/mo 3GB /            20 accounts /           15 repos
$79/mo 15GB / unlimited accounts / unlimited repos
Points:
  • We needed more than 15 repositories, which puts it at too high a price point.

XP Dev

unlimited projects/users
$5/mo  1GB
$15/mo 4GB
$30/mo 10GB
Points:
  • Each repository is created in the same namespace as all other repositories hosted by XP-Dev across all accounts, which means all the meaningful names like Main and Primary have been taken.
  • All users are in the same namespace across all accounts.  There’s only one “john” account in the entire system.  I have a fairly unique login name and it was already taken, and it *silently renamed* me to something else.  Fail!
  • As if it needed any more strikes against it, the UI stinks
  • It *is* fast, though

Assembla

$10/mo for  3 users  /  1 space   /  1 GB
$29/mo for 15 users /  2 spaces  /  4 GB
$49/mo for 30 users / 10 spaces / 10 GB
Points:
  • Looks industrial strength.  Seem more geared to Git and SVN, but they say they have Mercurial.
  • Has lots of features we don’t need,  like group video chat.
  • Each space can only have a single repository, so we’d have needed at least the $49/mo plan, which was too much for us.

Indefero

http://www.indefero.net/

£49/year / 1GB / unlimited projects & users
1GB extra £39/year
They say they have Mercurial, but it’s only when installing on your own server.
  • I have a fairly unique login name and it was already taken, and it *silently renamed* me to something else.

    I don’t think that’s meant to happen – do you mind elaborating it a bit further please ? I haven’t ever come across this situation in the past

    • Dean Moses

      Hi Roopinder –

      I supplied my login name (something like deanmoses) and it was renamed to deanmoses2 as the account was being created — I wasn’t given a chance to change it to something else.

  • Really weird – I’ve just tried to register deanmoses (it wasn’t taken) and managed to do it just fine. I’ve deleted it for now, and its available again if you’d like to give it a try.

    In terms of namespacing and UI, these are changes that will be coming in the next couple of months 🙂

    • Dean Moses

      Thanks for the update. Good luck on the new release!

      The ‘deanmoses’ was an example — I didn’t want to share my usual login name with all the internets.