[PATCH 1 of 2 V3] shelve: make bare shelve not preserving newly created branch
Yuya Nishihara
yuya at tcha.org
Tue Mar 8 10:46:42 EST 2016
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.
More information about the Mercurial-devel
mailing list