Mercurial Hosting

Posted by rs picture rs on Mon 03 May, 2010 16:46:40 +0000

Mercurial hosting is finally here! Its enabled on all paid accounts, and supported via SSH access (the same as Git hosting here at

All Mercurial repositories are as feature rich as Subversion and Git repositories. That means that your Mercurial repositories will integrate nicely with Basecamp, Fogbugz, Lighthouse, Fixx, DoneDone and even Twitter.

Additionally, your Mercurial repositories will play nicely with your hosted Trac projects and supports intelligent commit messages that can control your Trac or even tickets/bugs/stories/tasks.

Even Direct file hosting works uber nicely as well!

To top it off, all these repositories are backed up in real-time as well as an extra nightly off-site backup. (All of these features are available on Subversion & Git repositories as well)

Getting Started with Mercurial Hosting on

The first thing to do is to head over to your account’s Settings page to setup your SSH public key:

There’s a text box under the heading Your Public Key where you can enter your public key. Put the whole thing in there and click on Save. Your public key needs to start with either ssh-dsa or ssh-rsa. Only DSA and RSA public keys are supported at the moment:

Once you’ve done that, head over to your Source Control tab of your project. You should see a new option called Mercurial under type of repository:

Click on Save and the repository should be created.

The URL that you use to clone/push from/to is listed as well:

In this case you would issue commands like below to interact with your repository (using the example from the picture above):

  • Clone: hg clone ssh://
  • Push to the repository: hg push ssh://

If you’re having problems with getting started with Mercurial, feel free to drop a comment below, or just raise a support ticket.

Update: I’ve just added some documentation on how to get started with Mercurial hosting on

View 4 comments


Ricket picture

Ricket on Wed 05 May, 2010

In the second screenshot: "To access this Git repository, you will need to ..."

In the second bullet point, under that screenshot: "Push to the repository: git push ..."

I’m guessing you’re a Git guy? :) Also just curious, is this a Mecurial layer on top of Git or is it truly Mercurial? Not that it matters from the user standpoint of course.

rs picture

rs on Wed 05 May, 2010

Doh! The first one is a copy/paste error and that “bug” does exist in the live version. You’ll notice that the text is actually part of the screenshot. I’ll get that sorted out soon.

I’ve fixed the second bullet point.

Personally, I tend to use Git. However this is a true Mercurial hosting. Not sure how I would attempt to translate the Mercurial protocol over to Git. There are more differences such as wire protocol, file formats & data structures, etc.

Ricket picture

Ricket on Wed 05 May, 2010

Well I’ve heard they are still very similar, thus the Hg-Git Mercurial Plugin for example. I’m glad to hear it’s a true Mercurial setup though, as Hg-Git kinda makes me nervous. They claim “the Hg-Git plugin can convert commits/changesets losslessly” but I’m still skeptical.

rs picture

rs on Fri 07 May, 2010

It could be. Git and Mercurial clients behave differently from each other (I had to do some arm bending to get around them in the SSH layer) and not to mention their internal storage is different too.

However, after this release, I feel Git is a bit more flexible (or complex!) in terms of what you can make it do. For example, a commit in Git can have a number of parents, but for some reason Mercurial only supports 2: the original parent tree, and the incoming merge tree.


You do not have sufficient permissions to comment

Blog Entry Options

Blog Options

Blog Archives


Blog Entry and Comments