Tuesday, 2 December 2008

distributing mercurial to disconnected locations

Having some issues, teething problems with Mercurial. Here is the story:

Started a tiny mini project, a quick currency conversion web app, as typing the extra 10 characters into google is too cumbersome after a while....

Naturally picked new technology to play with, this time it being Grails and Mercurial. Having already played abit with groovy in my recent
wishlist facebook app, the next step to grails was not too hard. With NetBeans excellent support for groovy and grails, getting up and running was quick.

Having followed the story of Mercurial, Bazaar, git and other DVCSes recently. My adoption of them have only been delayed by being busy and not having a new project to test them out with. But now came the chance, and Mercurial being the one I wanted the most to try out, (wish their push back to SVN became usuable soon). It being integrated into NetBeans already also helped.

But I quickly became a little stuck. Mercurial does have a lot of documentation
(2), and many blogs to cover a large set of situations. But nothing quite described (spoon fed) me the steps I needed. Maybe playing a bit devil's advocate, but...

Basically I would develop this app in two places. I do 99% at home, while I'd also use it at work, thus would do the odd tweak there as well. SSH and web shared repositories is not an option due to work policies. So they are two disconnected locations.

So I create a grails app, do hg init. But then how do I get it to the other location??? I can not do a hg clone a b, because they are in different locations. A public shared repository is not an option.

There is not a guide for how distributed groups get started (without a public shared repository), only that it is a very distributed SCM. :0

OK, so what I will have to do is tar up the project, take it to the other location and clone it. Then email changesets somehow, presume with export or bundle.

Actually I see you can pull other repositories into any repository, so I suppose I can hg init a folder in each location, but still need to tar across an initial copy?

oh well. Guess I can document it next week.