##// END OF EJS Templates
bundle: refactor changegroup prune to be its own function...
Durham Goode -
r19289:6ea1f858 default
parent child Browse files
Show More
@@ -296,6 +296,11 b' class bundle10(object):'
296
296
297 yield self.close()
297 yield self.close()
298
298
299 # filter any nodes that claim to be part of the known set
300 def prune(self, revlog, missing, commonrevs, source):
301 rr, rl = revlog.rev, revlog.linkrev
302 return [n for n in missing if rl(rr(n)) not in commonrevs]
303
299 def generate(self, commonrevs, clnodes, fastpathlinkrev, source):
304 def generate(self, commonrevs, clnodes, fastpathlinkrev, source):
300 '''yield a sequence of changegroup chunks (strings)'''
305 '''yield a sequence of changegroup chunks (strings)'''
301 repo = self._repo
306 repo = self._repo
@@ -311,11 +316,6 b' class bundle10(object):'
311 fnodes = {} # needed file nodes
316 fnodes = {} # needed file nodes
312 changedfiles = set()
317 changedfiles = set()
313
318
314 # filter any nodes that claim to be part of the known set
315 def prune(revlog, missing):
316 rr, rl = revlog.rev, revlog.linkrev
317 return [n for n in missing if rl(rr(n)) not in commonrevs]
318
319 # Callback for the changelog, used to collect changed files and manifest
319 # Callback for the changelog, used to collect changed files and manifest
320 # nodes.
320 # nodes.
321 # Returns the linkrev node (identity in the changelog case).
321 # Returns the linkrev node (identity in the changelog case).
@@ -347,7 +347,7 b' class bundle10(object):'
347
347
348 for f in changedfiles:
348 for f in changedfiles:
349 fnodes[f] = {}
349 fnodes[f] = {}
350 mfnodes = prune(mf, mfs)
350 mfnodes = self.prune(mf, mfs, commonrevs, source)
351 for chunk in self.group(mfnodes, mf, lookupmf, units=_('manifests'),
351 for chunk in self.group(mfnodes, mf, lookupmf, units=_('manifests'),
352 reorder=reorder):
352 reorder=reorder):
353 yield chunk
353 yield chunk
@@ -377,7 +377,7 b' class bundle10(object):'
377 def lookupfilelog(x):
377 def lookupfilelog(x):
378 return linkrevnodes[x]
378 return linkrevnodes[x]
379
379
380 filenodes = prune(filerevlog, linkrevnodes)
380 filenodes = self.prune(filerevlog, linkrevnodes, commonrevs, source)
381 if filenodes:
381 if filenodes:
382 progress(msgbundling, i + 1, item=fname, unit=msgfiles,
382 progress(msgbundling, i + 1, item=fname, unit=msgfiles,
383 total=total)
383 total=total)
General Comments 0
You need to be logged in to leave comments. Login now