Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 49248:2bcf5e14bb7e
deltas: add a `debug.revlog.debug-delta` config option enable output
This provide a way to enable the code introduced in the previous changeset. This
will provide a large amount of output when applying a bundle with details about
each delta "computation".
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 19 May 2022 23:39:42 +0100 |
parents | 5b65721a75eb |
children | 31602d471b60 |
line wrap: on
line diff
--- a/mercurial/revlog.py Thu May 19 23:39:23 2022 +0100 +++ b/mercurial/revlog.py Thu May 19 23:39:42 2022 +0100 @@ -346,6 +346,7 @@ self._chunkcachesize = 65536 self._maxchainlen = None self._deltabothparents = True + self._debug_delta = False self.index = None self._docket = None self._nodemap_docket = None @@ -423,6 +424,8 @@ self._lazydeltabase = False if self._lazydelta: self._lazydeltabase = bool(opts.get(b'lazydeltabase', False)) + if b'debug-delta' in opts: + self._debug_delta = opts[b'debug-delta'] if b'compengine' in opts: self._compengine = opts[b'compengine'] if b'zlib.level' in opts: @@ -2426,7 +2429,12 @@ textlen = len(rawtext) if deltacomputer is None: - deltacomputer = deltautil.deltacomputer(self) + write_debug = None + if self._debug_delta: + write_debug = transaction._report + deltacomputer = deltautil.deltacomputer( + self, write_debug=write_debug + ) revinfo = revlogutils.revisioninfo( node, @@ -2639,7 +2647,13 @@ empty = True try: with self._writing(transaction): - deltacomputer = deltautil.deltacomputer(self) + write_debug = None + if self._debug_delta: + write_debug = transaction._report + deltacomputer = deltautil.deltacomputer( + self, + write_debug=write_debug, + ) # loop through our set of deltas for data in deltas: ( @@ -3015,7 +3029,13 @@ sidedata_helpers, ): """perform the core duty of `revlog.clone` after parameter processing""" - deltacomputer = deltautil.deltacomputer(destrevlog) + write_debug = None + if self._debug_delta: + write_debug = tr._report + deltacomputer = deltautil.deltacomputer( + destrevlog, + write_debug=write_debug, + ) index = self.index for rev in self: entry = index[rev]