Lightweight branches

Eddy, I think you’re getting too wrapped up in implementation details here. What all these revision control systems are doing is providing branches which are by some reasonable metric cheap to create and cheap to work with – the way they do it differs but to the user visible result is the similar if unremarkable.

The main reason people bother mentioning this is that CVS has a problem with this since it stores data in RCS files but they aren’t really set up to handle branches well – they store everything as delta trees originating at the head of the current trunk. This means that operations on a branch require that CVS walk a very long delta chain to construct the current branch head which gets very expensive if there are a lot of changes between the two revisions, for example on a long lived maintenance branches.

Leave a Reply