Request for rebaseif extension to be provided by default with rebase

Sune Foldager cryo at cyanite.org
Mon May 23 13:19:57 UTC 2011


On 2011-05-23 14:04, Sébastien Deleuze wrote:
>Thanks for your feedback.
>
>Pushing new heads is disabled by default (default behaviour since
>Mercurial 1.5 or 1.6, don't remeber), this behaviour is enough for us.

Yes, this is also how we prevent it, actually, since we have a wrapper
tool most people use where there is no --force option :-p.

>About merge versus rebase, I think there is a big difference between
>the 2 : rebase manipulates history, merge does not.

rebase manipulates local, unpublished, history in this case, and if you
have philosophical objections against this (which is fair), I don't see
how they don't apply equally to the case where there happen to be no file
conflicts. Even with no conflicts, the merge that is implicitly done when
you rebase, can break! This is an important point, and rebase and merge
are equals in that respect.

>This is a big difference when conflicts are tricky, and that's why I
>think rebase when there is no unresolved conflicts is better.

Why is that a big difference, though?

I'll admit there are some inconveniences in rebase, like it swaps
'local' and 'other' in the merge system and such, but otherwise, like I
said, it's the same merge machinery, and the conflicts will generally
not be harder to resolve, and often easier. When there is only ONE local
changeset, the two are exactly the same.

(But we certainly use merge as well, in some situations, and always
when it's between named branches of course.)

:) Sune



More information about the Mercurial mailing list