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

liscju piotr.listkiewicz at gmail.com
Mon Mar 7 17:49:54 EST 2016


# 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())
+
         def commitfunc(ui, repo, message, match, opts):
             hasmq = util.safehasattr(repo, 'mq')
             if hasmq:


More information about the Mercurial-devel mailing list