# HG changeset patch # User Pierre-Yves David # Date 1443737372 25200 # Node ID edecf059fda60e49d64c00a69ba6ae1ce46060bc # Parent 6086ddc1fdc6200b3bb1caebae4cbf91c4d2a2a6 shelve: move changegroup generation inside writebundle We will generate different changegroup if general delta is enabled so we gather this in the lower level function. There wasn't any good reason to have it in the main code anyway. diff -r 6086ddc1fdc6 -r edecf059fda6 hgext/shelve.py --- a/hgext/shelve.py Tue Sep 29 17:14:30 2015 -0700 +++ b/hgext/shelve.py Thu Oct 01 15:09:32 2015 -0700 @@ -105,7 +105,8 @@ def bundlerepo(self): return bundlerepo.bundlerepository(self.repo.baseui, self.repo.root, self.vfs.join(self.fname)) - def writebundle(self, cg): + def writebundle(self, bases, node): + cg = changegroup.changegroupsubset(self.repo, bases, [node], 'shelve') changegroup.writebundle(self.ui, cg, self.fname, 'HG10BZ', self.vfs) class shelvedstate(object): @@ -291,8 +292,7 @@ return 1 bases = list(publicancestors(repo[node])) - cg = changegroup.changegroupsubset(repo, bases, [node], 'shelve') - shelvedfile(repo, name, 'hg').writebundle(cg) + shelvedfile(repo, name, 'hg').writebundle(bases, node) cmdutil.export(repo, [node], fp=shelvedfile(repo, name, 'patch').opener('wb'), opts=mdiff.diffopts(git=True))