[PATCH 3 of 7] revlog: stop calling `basetext` `rawtext` in _revisiondata
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Tue Aug 20 12:37:28 EDT 2019
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at octobus.net>
# Date 1565214534 -7200
# Wed Aug 07 23:48:54 2019 +0200
# Node ID bab054f6cc691c74c503e043ee82482695b403a4
# Parent 598ab124d9b67810662db9a5d770e90cf913b9a4
# EXP-Topic revisiondata
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r bab054f6cc69
revlog: stop calling `basetext` `rawtext` in _revisiondata
If the cache entry is used as a base test for delta it is not the rawtext we
need. We update the variable name to clarify this.
diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -1621,6 +1621,7 @@ class revlog(object):
cachedrev = None
flags = None
rawtext = None
+ basetext = None
if node == nullid:
return ""
if self._revisioncache:
@@ -1648,7 +1649,7 @@ class revlog(object):
chain, stopped = self._deltachain(rev, stoprev=cachedrev)
if stopped:
- rawtext = self._revisioncache[2]
+ basetext = self._revisioncache[2]
# drop cache to save memory
self._revisioncache = None
@@ -1659,11 +1660,12 @@ class revlog(object):
targetsize = 4 * rawsize
bins = self._chunks(chain, df=_df, targetsize=targetsize)
- if rawtext is None:
- rawtext = bytes(bins[0])
+ if basetext is None:
+ basetext = bytes(bins[0])
bins = bins[1:]
- rawtext = mdiff.patches(rawtext, bins)
+ rawtext = mdiff.patches(basetext, bins)
+ del basetext # let us have a change to free memory early
self._revisioncache = (node, rev, rawtext)
if flags is None:
More information about the Mercurial-devel
mailing list