Making rebase --detach the default
Joshua Redstone
joshua.redstone at fb.com
Wed Jun 6 13:59:04 CDT 2012
+1 for making --detach the default. I just got bitten by the forgetting
of --detach yesterday.
Would it help ease the pain of switching the default if we temporarily add
a warning msg to rebase that is printed when the semantics of the
operation have changed because of the default switch?
Josh
On 5/11/12 3:45 PM, "Pierre-Yves David" <pierre-yves.david at ens-lyon.org>
wrote:
>At the sprint we talked about making 'rebase --detach' the default
>behavior.
>
>Matt ask some archeology about initial design, here is some.
>
>
>TL;DR; This behavior seems to have been picked because it was simple to
> implement and nobody objected again it.
>
>
>(1) The default behavior is explained here:
>http://mercurial.selenic.com/wiki/RebaseExtension#rebase_G_onto_I
>
>(2) The --detach flag is discussed in issue1950. Where Matt say: "rebase
>can't currently handle that,"
>
> http://mercurial.selenic.com/bts/issue1950#msg11237
>
>(3) In the initial discussion about the rebase Gsoc:
>
> (a) Here parren says:
>http://selenic.com/pipermail/mercurial-devel/2008-March/005533.html
>
> > echo -e "\n-- User a wants to cherry-pick just the Y-feature"
> > # Something like:
> > # cd $BASEDIR/user_a
> > # hg rebase user_b -r 2
>
> This would probably be "hg transplant" rather than rebase, but
>with
> transplant augmented to do proper three-way merge. This is part of
> what your work would encompass.
>
> (b) Here patrick says:
>http://selenic.com/pipermail/mercurial-devel/2008-March/005535.html
>
> I would not focus too much about cherry-picking in the beginning,
>a
> working branch rebasing command looks like a good first milestone
>to
> me.
>
> (c) Here stephano schedule the "cherry-picking case" as the last part
>of his gsoc:
>
>
>http://selenic.com/pipermail/mercurial-devel/2008-March/005551.html
>
>
>(4) In first discussion during the gsoc:
>
> Andrei Vermeil says:
>http://selenic.com/pipermail/mercurial-devel/2008-May/006341.html
>
> Rebasing a merge changeset is probably only worth the trouble if
>it gets
> rebased together with it's ancestors.
>
> (but we are not talking about merge there)
>
>
>(5) There is a lot of email that talk about "nested revision" but with
>links to
> the old gsoc pages which is now dead.
>
>
>Conclusion
>--------------
>
>I did not find any killing argument for the default behavior. I couldn't
>find
>any real discussion on the topic either. The main reason for the current
>default behavior seems to be that is was much more easy to implement.
>--detach behavior was initially planned but delayed.
>
>
>I +1 for making --detach the default after 3 years of confusing people to
>death.
>
>As a bonus, it would match the Git behavior.
>
>
>--
>Pierre-Yves David
>
>http://www.logilab.fr/
>
>_______________________________________________
>Mercurial-devel mailing list
>Mercurial-devel at selenic.com
>http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list