Thursday, October 04, 2007

Source Control, Branching, and Comic Multiverses

No, don't run away, this is actually interesting.

If you don't ever use the branching feature of your source control system, are you really taking full advantage of your source control system?

I find that almost every client I visit is barely using branching at all. Branching is widely misunderstood, and rarely implemented-- even though branching, like versioning, lies at the very heart of source control, and thus software engineering.

Perhaps the most accessible way to think of branches is as parallel universes. They're places where, for whatever reason, history didn't go quite the same way as it did in your universe. From that point forward, that universe can be slightly different-- or it can be radically and utterly transformed. Like the Marvel comic book series What If?, branching lets you answer some interesting and possibly even dangerous "what if" questions with your software development.

Plus, it uses the best cover of a What If? ever.

Everywhere I've worked has used branching for major version number changes. We used labels for minor releases.

No comments:

Post a Comment