Avoid Cascading away indefinitely

If we avoid to merge back to where we branched off, i.e. to either /main or an integration branch, it seems that we would cascade indefinitely away, i.e. keep creating new branches under one another.

This is intuitively a bad idea, and indeed, one meets system limitations fairly soon with such a scheme. One first notices a degradation in performance because of the length of the version extended names, and eventually one meets hard limits, making the creation of new branches fail.

This must thus be worked around.

Other cascading schemes

Note that we are not concerned here with other cascading schemes, e.g. enforcing hierarchical layouts in the version trees (e.g. with site or project branches).

These have roughly no other benefits than cosmetic, and on the contrary offer some real drawbacks, esp. with MultiSite: when needing to create a leaf branch in the absence of some intermediate level, one notices that creating the intermediate level of branches (which is nicely supported in the config spec syntax) will only work on the site mastering their types, which has thus to be the same as this mastering the type of the leaf branches—a totally artificial constraint.

In short, such schemes reintroduce the kind of bottlenecks branches were aimed are removing!

-- MarcGirod - 26 Sep 2007