Wandering Thoughts archives


Another advantage of distributed version control systems

Havoc Pennington:

The obvious reply is that most people don't have commit access. But if someone's doing any kind of significant work, I think they should. And for my projects I've essentially always given out access as soon as someone did any kind of largish patch or frequency of patches.

My reply to Havoc is 'what about before then?'

The advantage of distributed version control systems is that they empower people to use version control right from the very start of working on your program, even if and when they are making a trivial patch. They are never left out in the cold, either without version control or having to build it themselves on top of whatever VCS your project uses.

(I can make an argument that version control is especially important for people just starting out with a project. Their uncertainty about the inner workings of the codebase means that they are the most likely people to make mis-steps and wrong turns, and thus to want to be able to roll back to when their change in progress was actually working.)

Given that version control is now one of our best practices and clearly the right thing to do, why do people still feel this way, that some people can get by without it? (Or just not feel that it's essential enough for everyone to use it.)

Part of the problem could be that people feel that many of the version control systems are actually not great in the small, so people feel that version control is only really interesting or worth it once you start doing a lot of work on the code (or even that it's a kind of hair shirt that you suffer through for the good of all).

(I don't have enough experience to hold a well informed opinion on this, but stuff so far points me towards 'yes'.)

Another factor is how the ubiquitous CVS/SVN twins make it easy to carry an uncommitted change in a checked out tree, doing automatic merges and so on for you as the master repository updates. You don't get any version history et al for your changes, but at least the pain level is low (I've been carrying private Firefox patches in a checked out CVS tree for literally years without problems).

(Of course there's other advantages to distributed version control systems. Bryan O'Sullivan has several good points too.)

tech/AnAdvantageOfDVCSII written at 23:24:02; Add Comment

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.