> Anyway, getting back to my original question: what is the rationale > behind Mercurial allowing pulls that would result in more than two heads > by default? When would this be the behavior a developer would want by > default?
Purely speculative, and with neither defense nor criticism of the Mercurial model: I think it's because of the implied relationship between repositories. The "parent" repository (the source of a pull or the destination of a push) is considered authoritative. Effort is made to protect that repository, ie cannot push multiple heads without a force option. That makes pretty good sense for a branched development model, too. We don't use that, but others may. And if you manage multiple releases via branching, you shouldn't need to force a pull to get the contents of the parent (or master) repo. But it might still be sensible to require force to CREATE such a branch in the first place. --Mark