When you don’t follow all citations
By now I’ve had two backlinks, two emails, and several people pinging me on IRC, all pointing out the irony in my Don’t Go Dark, Go Distributed note suggesting DVCS as a way out of the going-dark problem, when in fact the original article that Atwood quoted from pointed at them as a problem magnifier. But of course, distributed source control making it easy to go dark is just one of the problems that article points out; and as I said, it remains to be seen how much of the problem is social.
Sussman takes off from there to throw in a few unsubstantiated conclusions about the limitations of Subversion somehow keeping the going-dark effect at bay, and tops them off with some comical FUD about Git, contrasting with Mercurial. [Note: both Pedro Melo and an anonymous commenter on the posting do a better job of tearing apart the argument than I could be bothered to. You should probably read those instead of the rest of this entry.] To wit:
Another example: when it comes to pushing and pulling changesets, Mercurial’s default behavior is to exchange all history with the remote repository, while Git’s default behavior is to only push or pull a single branch – presumably one that the user has deemed fit for sharing with the public. In other words, Git defaults to all work being private cave-work, and is happy to destroy history.
Mercurial philosophy may have changed, but it used to be that to create a branch you should simply clone the repository. In-repository branch management was seen as a heavyweight approach. In such a constellation, Mercurial will obviously exchange no more history with a remote repository than will Git.
The most mind-boggling part, though, is this:
Clearly, the growing popularity of distributed version control shows just how thrilled people are to hide their work from each other.
The fact that they help people go dark is the reason for their growing popularity‽ Well, Ben Collins-Sussman is one of the designers and core developers of Subversion, so maybe I should not be surprised at such resounding nonsense. For what it’s worth, I have sat on a 5000-line patch – yes, in my working copy –, precisely because I was using Subversion. A number of mistakes coincided to create that situation, but had I been using a DVCS at the time, I would, at the very least, now have an actual commit history of that work. I might even have been able to avoid going dark.
Anecdote vs anecdote.
But really, I don’t care to argue. I honestly wish I would have clicked the link first – that would have kept me from wading into this pointless argument at all. The article reeks of the smell of fear that is emanating from the Subversion camp these days, and I have no interest in getting too close to that.