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

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Oct 2 12:50:58 UTC 2013


On 10/02/2013 02:39 PM, harry wrote:
> The issue I'm concerned with is the case where a user shelves some changes,
> makes lots of changes to the ancestors, then tries to unshevle.
>
> If the shelf is a hidden changeset (granted that this wouldn't be possible
> on top of MQ), each change will rebase the shelf, and the user will get a
> chance to abort changes that will make it impossible to apply the shelf
> afterwards.

No every change would not do that. A shelve is created once and sleeps 
until someone tries to unshelve it.

If you really want such behavior you should do a secret commit ontop of 
the part you are going to heavily rewrite.

> If the shelf is unbundled, they'll be hit with everything
> together when they try to unshelve.

Again, there would not have any differences in behavior between:
1. the shelve commit stay in the repo as hidden one
2. the shelve is super-hidden outside of the repo in a bundle.

We could even use the two at the same time, falling back to the bundle 
if something terrible happened to the hidden version.

-- 
Pierre-Yves





More information about the Mercurial-devel mailing list