Skip to content
Snippets Groups Projects
Commit 92213f67 authored by Augie Fackler's avatar Augie Fackler
Browse files

rebase: introduce support for automatically rebasing orphan changes

_destautorebase(SRC) is based on the _destrestack(SRC) revset from
fbamend. The supporting _possibledestination function is extracted
from evolve, with minor cleanups.

We've considered some alternatives here:
 * This change, but with --auto as the flag name. We're hedging our bets
   on this a little in this change so that if this ends up being the wrong
   direction we haven't burned the valauble --auto name on rebase.
 * --destination auto: I've got reservations about the discoverability of this,
   and we don't currently have a good story for a revset alias of sorts that
   changes behavior depending on the context in which it's used.
 * A "rebase presets" feature, where we could use the currently-an-error
   positional argument space for the rebase command to define presets, so that
   users could define a 'linearize' preset that specifies
   --revision='orphan()-obsolete()' and --dest=_destautoorphanrebase(SRC).

Personally, I find the third option somewhat appealing, but am
hesitant to "spend" the functionality space of positional arguments to
the rebase command. We should revisit the way we expose this
functionality sometime in the 4.7 cycle once we've had a chance to vet
the implementation of the functionality.

Differential Revision: https://phab.mercurial-scm.org/D2668
parent cc932c15
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment