[PATCH 1 of 2 V3] shelve: make bare shelve not preserving newly created branch

Piotr Listkiewicz piotr.listkiewicz at gmail.com
Tue Mar 8 11:14:52 EST 2016


>
> Well, I'm like a broken record, but if new branch isn't shelved, the
> current
> working branch should stay unchanged. It doesn't make sense that "hg
> shelve"
> discards uncommitted changes.


Yuya you wrote before that:


> Also, if "hg shelve FILE" doesn't remember the branch change, the working
> branch should stay unchanged. Perhaps we'll need an in-memory commit stuff.


 Do you think this is the best solution to the problem? Where can i find
examples of in-memory commit stuff?
BTW can anybody explained me whats wrong with changing current working
directory branch if its gonna to be save to bundle and and "discarded" in
update to parent?

2016-03-08 17:07 GMT+01:00 Pierre-Yves David <pierre-yves.david at ens-lyon.org
>:

>
>
> On 03/08/2016 03:46 PM, Yuya Nishihara wrote:
>
>> On Mon, 07 Mar 2016 23:49:54 +0100, liscju wrote:
>>
>>> # HG changeset patch
>>> # User liscju <piotr.listkiewicz at gmail.com>
>>> # Date 1457387891 -3600
>>> #      Mon Mar 07 22:58:11 2016 +0100
>>> # Node ID 2e4c8569d7fed28a7853417cd178ed374446ef9f
>>> # Parent  a036e1ae1fbe88ab99cb861ebfc2e4da7a3912ca
>>> shelve: make bare shelve not preserving newly created branch
>>>
>>> This patch makes bare shelve setting branch of working directory
>>> to the first parent branch before commiting, making it not
>>> remember newly created branch.
>>>
>>> This patch prepares for restoring branch name on newly created
>>> branch on bare shelve, because newly created branch name will be
>>> only saved on bare shelve.
>>>
>>> diff -r a036e1ae1fbe -r 2e4c8569d7fe hgext/shelve.py
>>> --- a/hgext/shelve.py   Sun Feb 07 00:49:31 2016 -0600
>>> +++ b/hgext/shelve.py   Mon Mar 07 22:58:11 2016 +0100
>>> @@ -312,6 +312,10 @@ def _docreatecmd(ui, repo, pats, opts):
>>>                   extra['shelve_unknown'] = '\0'.join(s.unknown)
>>>                   repo[None].add(s.unknown)
>>>
>>> +        if pats:
>>> +            # In non-bare shelve we don't store newly created branch
>>> +            repo.dirstate.setbranch(repo['.'].branch())
>>>
>>
>> Well, I'm like a broken record, but if new branch isn't shelved, the
>> current
>> working branch should stay unchanged. It doesn't make sense that "hg
>> shelve"
>> discards uncommitted changes.
>>
>
> +1 with Yuya here.
>
> --
> Pierre-Yves David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20160308/c588b8e5/attachment.html>


More information about the Mercurial-devel mailing list