[Bug 5206] New: Allow stopping a rebase, finalizing the completed steps without aborting the whole series

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Fri Apr 15 16:10:48 UTC 2016


https://bz.mercurial-scm.org/show_bug.cgi?id=5206

            Bug ID: 5206
           Summary: Allow stopping a rebase, finalizing the completed
                    steps without aborting the whole series
           Product: Mercurial
           Version: default branch
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: rebase
          Assignee: bugzilla at selenic.com
          Reporter: timeless at gmail.com
                CC: mercurial-devel at selenic.com

If you have a long series to rebase, you might get to a point where you can't
figure out what to do next, but you've done a lot of work, and want to keep
that work (including the future associated obsolete markers).

Today, you can't, you have to complete your series or abandon it.

I'm rebasing 78 linear commits.

My rebasestate has ~70 items.

It is really unfortunate to be forced to either give up, or make a new repo
just because one is stuck and can't keep the work one has already done.

durin42 proposed "hg rebase --abort --keep", but that won't work, since I
actually do want to obsolete the original commits.

The flag I want is probably not generally possible w/o obsolete markers, as
there's no way to destroy commits and keep their descendants otherwise. It
could work in cases where you have a non linear graph that you're rebasing:

o e

o d
|
o c
|
| o b
|/
o a

If I'm rebasing ((a::)-a) onto e, I should be able to stop at:


o d'
|
o c'
|
o e

o b
|
o a

But supporting that case is less urgent. I think if someone is in this position
they can be forced to temporarily accept obsolete markings, and use them long
enough to get out of this place. They might even learn to like them...

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list