[PATCH 08 of 10 shelve-ext v3] shelve: add obs-based unshelve functionality

Sean Farley sean at farley.io
Fri Feb 3 18:17:43 EST 2017


Kostia Balytskyi <ikostia at fb.com> writes:

> # HG changeset patch
> # User Kostia Balytskyi <ikostia at fb.com>
> # Date 1484835394 28800
> #      Thu Jan 19 06:16:34 2017 -0800
> # Node ID 94a237a046059ef246aacb2c3ad809c9f0bdbe70
> # Parent  abdf9565fdce15604ea4abf013cb7c98a11f70ca
> shelve: add obs-based unshelve functionality
>
> Obsolescense-based unshelve works as follows:
> 1. Instead of stripping temporary nodes, markers are created to
> obsolete them.
> 2. Restoring commit is just finding it in an unfiltered repo.
> 3. '--keep' is only passed to rebase on traditional unshelves
> (and thus traditional rebases), becuase we want markers to be
> created fro obsolete-based rebases.
> 4. 'hg unshelve' uses unfiltered repo to perform rebases
> because we want rebase to be able to create markers between original
> and new commits. 'rebaseskipobsolete' is disabled to make rebase not
> skip the commit altogether.

Before this gets into core, can we not implement stripping obs markers?
This seems like a good use-case for such functionality.


More information about the Mercurial-devel mailing list