[PATCH 4 of 4] shelve: add a shelve extension to save/restore working changes

Pierre-Yves David pierre-yves.david at logilab.fr
Wed May 29 11:19:03 CDT 2013


On Tue, May 28, 2013 at 08:20:05PM -0400, Augie Fackler wrote:
> 
> On May 28, 2013, at 7:28 PM, Bryan O'Sullivan <bos at serpentine.com> wrote:
> 
> > # HG changeset patch
> > # User Bryan O'Sullivan <bryano at fb.com>
> > # Date 1369783721 25200
> > #      Tue May 28 16:28:41 2013 -0700
> > # Node ID a87ee920b333192898e8ff84e30ddb1ebac515b6
> > # Parent  11fce4dc68f060e96cc06cc88da72e2c9da1022b
> > shelve: add a shelve extension to save/restore working changes

Sound very similar to the "stash" extension from idan K.

> One code style question.
> 
> I wonder if we shouldn't take a step back and have some central
> registry of things that could be in-progress, since an in-progress
> histedit, merge, rebase, or graft should abort this, and not all of
> those will necessarily look like a merge (and the abort message could
> be confusing).

Ho yes, we should. I have more and more multi step operation and a
generic mecanism to prevent mistake would be very helpful.

In an ideal future we could even have a consistent experience with
global "hg continue" and "hg abort".

> > This extension saves shelved changes using a temporary draft commit,
> > and bundles all draft ancestors of the temporary commit. This
> > strategy makes it possible to use Mercurial's merge machinery to
> > resolve conflicts if necessary when unshelving, even when the
> > destination commit or its ancestors have been amended, squashed,
> > or evolved.

hu, clever!

-- 
Pierre-Yves David

http://www.logilab.fr/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20130529/16a72f1b/attachment.pgp>


More information about the Mercurial-devel mailing list