diff -r e6b7c6fbeb48 -r 2bcf5e14bb7e mercurial/revlog.py --- 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]