# HG changeset patch # User Martin von Zweigbergk # Date 2021-01-07 19:28:41 # Node ID 2e14b933f17cd41c9ff2aa977daf8ac4c16f051b # Parent 20bea6d17b6aa0a8ab596affc8df3b22ddae2a69 shelve: move method for reading .shelve file to new shelf class Differential Revision: https://phab.mercurial-scm.org/D9702 diff --git a/mercurial/shelve.py b/mercurial/shelve.py --- a/mercurial/shelve.py +++ b/mercurial/shelve.py @@ -163,9 +163,6 @@ class shelvedfile(object): self.ui, cg, self.fname, btype, self.vfs, compression=compression ) - def readinfo(self): - return scmutil.simplekeyvaluefile(self.vfs, self.fname).read() - class Shelf(object): """Represents a shelf, including possibly multiple files storing it. @@ -186,6 +183,11 @@ class Shelf(object): def writeinfo(self, info): scmutil.simplekeyvaluefile(self.vfs, self.name + b'.shelve').write(info) + def readinfo(self): + return scmutil.simplekeyvaluefile( + self.vfs, self.name + b'.shelve' + ).read() + class shelvedstate(object): """Handle persistence during unshelving operations. @@ -894,7 +896,7 @@ def _unshelverestorecommit(ui, repo, tr, repo = repo.unfiltered() node = None if shelvedfile(repo, basename, b'shelve').exists(): - node = shelvedfile(repo, basename, b'shelve').readinfo()[b'node'] + node = Shelf(repo, basename).readinfo()[b'node'] if node is None or node not in repo: with ui.configoverride({(b'ui', b'quiet'): True}): shelvectx = shelvedfile(repo, basename, b'hg').applybundle(tr)