Mercurial > public > mercurial-scm > hg
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 |