> 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

Reply via email to