On Wed, Aug 13, 2008 at 11:24:28AM -0600, Mark J. Nelson wrote:

> 
> > 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.

The way Meem stated the question to me was more specific -- why does a pull
allow the creation of a second head in any branch.

Your "authoritative" argument makes sense, but I agree with Meem -- I don't
think it's a terribly useful model, unless those heads are branch heads.

Danek

Reply via email to