Comments
Patch
@@ -197,6 +197,8 @@ class shelvedstate(object):
_filename = 'shelvedstate'
_keep = 'keep'
_nokeep = 'nokeep'
+ _obsbased = 'obsbased'
+ _traditional = 'traditional'
def __init__(self, ui, repo):
self.ui = ui
@@ -218,6 +220,7 @@ class shelvedstate(object):
nodestoprune = [nodemod.bin(h) for h in fp.readline().split()]
branchtorestore = fp.readline().strip()
keep = fp.readline().strip() == cls._keep
+ obsshelve = fp.readline().strip() == cls._obsbased
except (ValueError, TypeError) as err:
raise error.CorruptedState(str(err))
finally:
@@ -232,6 +235,7 @@ class shelvedstate(object):
obj.nodestoprune = nodestoprune
obj.branchtorestore = branchtorestore
obj.keep = keep
+ obj.obsshelve = obsshelve
except error.RepoLookupError as err:
raise error.CorruptedState(str(err))
@@ -239,7 +243,7 @@ class shelvedstate(object):
@classmethod
def save(cls, repo, name, originalwctx, pendingctx, nodestoprune,
- branchtorestore, keep=False):
+ branchtorestore, keep=False, obsshelve=False):
fp = repo.vfs(cls._filename, 'wb')
fp.write('%i\n' % cls._version)
fp.write('%s\n' % name)
@@ -251,6 +255,7 @@ class shelvedstate(object):
' '.join([nodemod.hex(n) for n in nodestoprune]))
fp.write('%s\n' % branchtorestore)
fp.write('%s\n' % (cls._keep if keep else cls._nokeep))
+ fp.write('%s\n' % (cls._obsbased if obsshelve else cls._traditional))
fp.close()
@classmethod