Gitjour: the Quickening

By Lachlan Hardy
1926h Sunday, 19 October 2008 Permalink

Back in June, a whole lot of folks in the Ruby world were getting excited about Gitjour and it’s *jour brethren. Read Dr Nic for the lowdown. He was particularly excited about the potential of using all these automated DNSSD-powered advertising services at the forthcoming Railscamp #3. And so was I.

I installed every one of those suckers, and fired them up, and had a play. They were awesome ideas but I thought they were a bit limited in their execution. Don’t get me wrong, as a quick conference hack, they’re brilliant. And for quickly sharing some cool shiz with your friends in the back of a session - perfect. Not so good for 4 days of intense hackery with 60-something coders on the one network. Not so good as a day-to-day tool in a work environment.

Railscamp #3

I spent the first portion of Friday night at Railscamp catching up with folks, as you do. Having a few beers, seeing what they’ve been doing and talking about what we’re going to build over the weekend. I think I might have pointed out the potential for new features in Gitjour just a few times. Just once or twice, you know?

Finally, Mike Bailey calls me on it and we get coding. And everybody I’d whinged to about the potential of Gitjour joins in.

By the end of last Railscamp, we’d refactored significantly, squished many bugs, added proxies for cloning and remotes as well as a search. Not to mention spawned a couple of side-projects: Gitman and Gitnotify.

All our code ended up in the Railscamp repo where, except for an excellent summary post from Lachie Cox, we all forgot about it.

Fedex IX

Atlassian has a quarterly hacking event called Fedex (“deliver overnight”). Basically, everybody gets from 2pm Thursday (in Sydney) to 4pm Friday to hack up whatever they like as long as it is somewhat associated with the company. Then they present, and everybody votes for awesomeness. You’ll have heard of similar events at other companies etc.

Fedex IX was a week ago, and Don Brown hit me up, asking for a method to allow easy local sharing of git repositories. He has a grand master plan I’m sure he will reveal in time.

That’s when I realised we never told anybody about our revamp of Gitjour. We never pimped all the badass improvements we made. That’s dumb for so many reasons, but the biggest is easily that there are hackers out there who need a sweet tool for sharing git repos with colleagues and friends and we didn’t tell them. This makes me sad.

So, my Fedex project quickly became shaping our Gitjour into something nice and stable for everybody else to enjoy. I forked Chad Fowler’s original and I worked out how to mash it together with ours. There are probably faster and neater methods, but I found one that worked. Boy, did I learn a few things about Git that day!

Then I made a couple of bug fixes, tidied things up, battled multiple methods of gem building until I got them to work and made my first ever pull request on Github. Hopefully, Chad will be happy to merge all our work in, but meanwhile you can get all that railscamping goodness on my Github account, or just install the gem:

sudo gem install lachlanhardy-gitjour

Railscamp #4

Very soon, a bunch of hackers are going to be stuck in the middle of nowhere on one network and need to share their work. And I’m going to be there, pointing out what’s wrong with Gitjour and why we should merge in Gitnotify and Gitman so that we have one seriously badass tool that’ll make working with Git the easiest thing you’ve ever done. Sharing those repos can be easier than it is now. And it should be.

And when we’ve built more crazy awesomeness, I’m going to remember to scream it from the rooftops because I want everybody to know that the tools are already here - they just need a little more work. Do you want to help?