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

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Mar 8 11:07:13 EST 2016



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


More information about the Mercurial-devel mailing list