Trying Out this Git Thing

rcaputo on 2009-08-08T21:38:29

Distributing Development

Distributed version control is great. It'll bring on the patches, establish world peace, and get you laid. It adds extra steps to your workflow, but they make everything easier. Don't ask me how. Even if I understood that trick, the Magician's Code wouldn't let me explain it to you.

There's more than one way to distribute development, and many of them are free. Bazaar stood out as having the best mix of flexibility, extensibility and usability. It also has Launchpad, which provides frameworks for distributed project management and feature design.

While Bazaar looks nicer, doing DVCS right means going where the people are. For Perl, that's Git. Sorry, Bazaar, it's not you, it's me.

Getting my Feet Wet

POE is a perfect project to migrate to a distributed development model. It's large, it's popular, and it can always benefit from more developers. I mean, what can't, right?

POE's size and visibility also make it a bad choice for a first foray into distributed development. New software solutions, like new cleaning solutions, are best tried somewhere that won't show if they stain.

POE's scratch monkey is POE::Stage, a much smaller, much less visible project that, needless to say, can benefit from more developers. I recently migrated it from Subversion using Yuval Kogman's tools and advice. The popular svn2git alternative didn't work well for me.

Decisions, Decisions

There's more than one way to host a Git project. GitHub and Gitorious have been recommended for different reasons, but neither is a clear winner. Fortunately, a distributed repository can be hosted in more than one place. POE::Stage is available at both GitHub and Gitorious until I decide.

What Next?!

So I'm all set up. I've successfully migrated a project to Git, hosted it publicly (twice) and even awkwardly pushed a few changes.

The journey's only beginning, though. I have plenty of small projects to migrate while I commit the DVCS dance to muscle memory. I also have some specific Achievements to acquire before tackling the Boss Level, migrating POE itself.

It should be fun, or at least a good challenge. I'll keep you posted.


Curse those network effects

revdiablo on 2009-08-10T16:24:04

It saddens me a little to see Git become The One True DVCS, at least for Perl folks. I've been using and enjoying Mercurial for years. Especially coming from Subversion, it's a delight to use. It gives you pretty nearly the exact same commands as Subversion, except the addition of 'push' and 'pull'.

Ah, well. Good luck with Git!