The Dark Side Part I

I just installed git, pulled down the latest Clojure code. Thinking about getting a github account and moving some of my Subversion code there just to play. There just aren’t enough shiny jangly things in my life.

Source Control Follies

Why Perforce is more scalable than Git. I’ve always had a soft spot in my heart for Perforce. It’s an awesome tool, one that “just works” when you get to know it. I’ll admit, branching isn’t easy but I learned how to do it and I’m not that smart. I taught an entire outsourced staff of developers flown in special from India how to use it and while I honestly don’t think they understood anything I said, they did nod happily and shake my hand saying something to the effect of “Good presentation” when I was done. So Perforce must be OK.

Git strikes me as a shiny, jangly, “Oh look there’s a chicken!” bauble for ADHD-stricken developers who can’t score a Modafinil prescription. I say this with absolutely no understanding or use of Git which makes me supremely qualified to dis it on the Internet. But look, it’s nice that it’s all cool and distributed and fancy-pants-in-with-the-in-crowd but I have my doubts that you could ever stick it in a corporate environment with 10 gigs of source data and have it work very well. Not to mention trying to get the average developer’s head around how you could possibly have a distributed source control system. To which the Internet trolls say “that’s how we like it”. To which I say “yeah but here in the real world where we don’t sleep in our mom’s basement and we need source control to be, you know, boring.”

Personally I don’t see how on earth I could ever end up with a 6 gig repository. What, are you checking in an entire copy of the Vista and Visual Studio ISO’s?

If you need to have your toolchain or test data in a repository, try putting it in a separate repository. This way it doesn’t fuck up your source code repository, which is designed to store… oh I dunno, source code?

That’s a quote from reddit which is typical of your average “never worked in a corporate environment” hacker. Don’t get me wrong, I’m jealous of people who never worked in a corporate environment but that doesn’t make those of us who have idiots. As it turns out, corporate environments need different things than people hacking on the 42nd version of their Quake ripoff. In the real world, EVERYTHING gets versioned. It’s called CYA and it’s important. Trust me. It just is. And when it’s important, you need a tool that thinks it’s important too. Git just isn’t it.

There will always be new shiny things to keep those of us who need such things entertained. But in the end, tools like Perforce are meant for bigger tasks. As it turns out, they’re actually good at them.