From patchwork Sat Sep 28 20:28:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D6901: upgrade: fix DELTAREUSEFULLADD implementation in revlog.clone From: phabricator X-Patchwork-Id: 41821 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Sat, 28 Sep 2019 20:28:42 +0000 Closed by commit rHG8a31294fa25c: upgrade: fix DELTAREUSEFULLADD implementation in revlog.clone (authored by marmoute). This revision was automatically updated to reflect the committed changes. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6901?vs=16663&id=16670 CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D6901/new/ REVISION DETAIL https://phab.mercurial-scm.org/D6901 AFFECTED FILES mercurial/revlog.py CHANGE DETAILS To: marmoute, indygreg, #hg-reviewers Cc: mercurial-devel diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -2437,21 +2437,21 @@ # the revlog chunk is a delta. cachedelta = None rawtext = None - if (deltareuse != self.DELTAREUSEFULLADD and destrevlog._lazydelta): - dp = self.deltaparent(rev) - if dp != nullrev: - cachedelta = (dp, bytes(self._chunk(rev))) - - if not cachedelta: - rawtext = self.rawdata(rev) - - if deltareuse == self.DELTAREUSEFULLADD: - destrevlog.addrevision(rawtext, tr, linkrev, p1, p2, + text = self.revision(rev) + destrevlog.addrevision(text, tr, linkrev, p1, p2, cachedelta=cachedelta, node=node, flags=flags, deltacomputer=deltacomputer) else: + if destrevlog._lazydelta: + dp = self.deltaparent(rev) + if dp != nullrev: + cachedelta = (dp, bytes(self._chunk(rev))) + + if not cachedelta: + rawtext = self.rawdata(rev) + ifh = destrevlog.opener(destrevlog.indexfile, 'a+', checkambig=False) dfh = None