DVCS buzzHave you ever heard about DVCS?? I bet if you're a developer and you've being somehow living on planet earth at least once on the last twelve months you must have heard about Distributed Version Control Systems. Haven't you?
Even the great Joel Spolsky dedicated his last ever post to DVCS.
What's all this buzz about?
Look, some cool guys on the software industry made their talk on what they feel version control:
So, it seems a nice trend has been created but... what is it all about?
Look a little bit careful at Spolky's link: what is he talking about? Being distributed is really powerful but at the end what they're all talking about is about branching and merging. Yes, as simple as it sounds, all the buzz on the hundreds of tutorials out there are focusing more on good-ol branching patterns than on distributed itself.
Because this new wave of DVCS evangelists (ok, it's cooler to put DVCS than branch on a headline) is singing a totally different song than the previous generation, exactly the opposite lyrics: instead of avoid branching at any cost they're now singing "let's embrace branching as a daily common practice".
Because you can.
Yes, as simple as that: the previous generation of SCMs were unable to handle hundreds and hundreds of branches and merges: it would be a suicide with CVS and VSS, it would be painful as hell with Subversion and other commercial systems wouldn't do better.
But now there's a brand new generation ranging from Git, Bazaar and Mercurial on the free side to Plastic SCM on the commercial one, which are not only distributed but let you branch and merge as you never seen before.
(Side note: here's our branch explorer showing the whole "forest" of branches and branches and branches)
It sounds to me really like the agile methods wave a few years ago: don't avoid change, simply embrace it. So, let's do the same here: don't avoid branching, simply embrace it... with the right tools!