comparison mercurial/changegroup.py @ 24911:5447b8523fef

cg2packer: set reorder=False in __init__ instead of in group() The difference between reorder=None (bundle.reorder=auto) and reorder=False is that the generaldelta revlogs get reordered with the former. In cg2packer, group() we check if the revlog uses generaldelta and if reorder=None and then convert that to reorder=False. We are effectively saying that whether or not generaldelta is used, we want reorder=None to mean reorder=False for changegroup 2. To make this clearer, check if reorder=None in the constructor and change it to False there and drop the overriding of group(). Also document the reason for turning reordering off.
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 29 Apr 2015 10:38:45 -0700
parents 80a711e91507
children e285b98c65cc
comparison
equal deleted inserted replaced
24910:80a711e91507 24911:5447b8523fef
508 508
509 class cg2packer(cg1packer): 509 class cg2packer(cg1packer):
510 version = '02' 510 version = '02'
511 deltaheader = _CHANGEGROUPV2_DELTA_HEADER 511 deltaheader = _CHANGEGROUPV2_DELTA_HEADER
512 512
513 def group(self, nodelist, revlog, lookup, units=None, reorder=None): 513 def __init__(self, repo, bundlecaps=None):
514 if (revlog._generaldelta and reorder is None): 514 super(cg2packer, self).__init__(repo, bundlecaps)
515 reorder = False 515 if self._reorder is None:
516 return super(cg2packer, self).group(nodelist, revlog, lookup, 516 # Since generaldelta is directly supported by cg2, reordering
517 units=units, reorder=reorder) 517 # generally doesn't help, so we disable it by default (treating
518 # bundle.reorder=auto just like bundle.reorder=False).
519 self._reorder = False
518 520
519 def deltaparent(self, revlog, rev, p1, p2, prev): 521 def deltaparent(self, revlog, rev, p1, p2, prev):
520 dp = revlog.deltaparent(rev) 522 dp = revlog.deltaparent(rev)
521 # avoid storing full revisions; pick prev in those cases 523 # avoid storing full revisions; pick prev in those cases
522 # also pick prev when we can't be sure remote has dp 524 # also pick prev when we can't be sure remote has dp