Mercurial > public > mercurial-scm > hg
diff mercurial/revlog.py @ 40427:59a870a4ad6e
changegroup: refactor emitrevision to use a `deltamode` argument
This new argument gathers the semantic of `sendfulltext` and `deltaprevious`
in a single value. We are about to introduce a new type of constraints.
Avoiding yet another argument sounds like a plus.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 09 Oct 2018 22:02:01 +0200 |
parents | b0fbd1792e2d |
children | 6a917075535a |
line wrap: on
line diff
--- a/mercurial/revlog.py Tue Oct 23 21:11:13 2018 +0900 +++ b/mercurial/revlog.py Tue Oct 09 22:02:01 2018 +0200 @@ -2213,6 +2213,12 @@ if nodesorder is None and not self._generaldelta: nodesorder = 'storage' + deltamode = repository.CG_DELTAMODE_STD + if deltaprevious: + deltamode = repository.CG_DELTAMODE_PREV + elif not self._storedeltachains: + deltamode = repository.CG_DELTAMODE_FULL + return storageutil.emitrevisions( self, nodes, nodesorder, revlogrevisiondelta, deltaparentfn=self.deltaparent, @@ -2220,10 +2226,9 @@ rawsizefn=self.rawsize, revdifffn=self.revdiff, flagsfn=self.flags, - sendfulltext=not self._storedeltachains, + deltamode=deltamode, revisiondata=revisiondata, - assumehaveparentrevisions=assumehaveparentrevisions, - deltaprevious=deltaprevious) + assumehaveparentrevisions=assumehaveparentrevisions) DELTAREUSEALWAYS = 'always' DELTAREUSESAMEREVS = 'samerevs'