Today, Russel posted to groovy-dev that he set up a branch of Groovy on Launchpad. I have heard about Launchpad, but never tried to be its user. More that 2 hours that I have tried to set everything up.
I registered to be a Launchpad user, then forked my branch from Russel's one. OK, then what's next?
I'm still on Windows XP, so I need a set of putty programs for SSH. Later, I use PUTTYGEN to generate my public key and import it into Launchpad.
The next step is to download Python 2.5, Bazaar for Windows. Then, I installed bazaar and was able to branch Russel's trunk locally.
bzr branch http://bazaar.launchpad.net/~russel/groovy/trunk
After that I pushed it back to my branch.
bzr push bzr+ssh://firstname.lastname@example.org/~chanwit/groovy/ck1
Then, something went wrong. I did not setup SSH properly. bazaar blamed me that I forgot to set BZR_SSH.
OK, here we go. Now everything went smoothly. I can push my local codes back to Launchpad. So I did clean and re-build Groovy to see if everything was fine. But hey !, the branch of Russel is out-of-date. I need the latest patch Alex just committed. So what to do?
I checked some docs on bazaar wiki and they said it is able to merge code from SVN using bzr-svn plugin. That sounds great to me. So I downloaded bzr-svn, but thing did not go smooth again. I need Python-Subversion binding with the special patches. Come on, where on the earth it is? Alright ! It seems I got everything to run bzr-svn.
I ran this command:
bzr merge http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/
but it was not successful. The document said it should be svn+http. How silly I am. I tried merging again:
bzr merge svn+http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/
And it worked ! After that I did commit.
bzr commit -m "message goes here"
and push all committed code back to Launchpad again:
Wow, it was fun and cool!. Now I can have my experiment branch without missing any new patch from the main trunk! That's great, isn't it?