Implicit Branching
Mercurial comes with a fresh approach to
branching, at least to presenting it.
You may not be aware of branching, until you
pull somebody else's version of the file you modified, and face
merging.
I.e. you notice at that point that you had been branching implicitly.
And you don't need to care otherwise—no need to branch
back.
This presentation is indeed so simple, as to feel
right.
Branching is natural, and all the fuss around it is only
hysterical.
Merging is only needed when it makes sense, and there is never any reason for artificial
trivial merges.
The question which naturally pops up in the context of Mercurial, is how do you know what to pull.
This strikes me as a natural direction for enhancement in the model.
Currently as I understand it, this is left to off-band (outside the SCM) communications, and top-down from the sources.
The bottom-up model of managing
derived objects should help dramatically there.
It is at the level of binaries (usually executables) that one might want to hear of and test changes, so as to
pull at once all the sources needed to produce one after having experimented its benefits.
--
MarcGirod - 22 Jan 2008