Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 49877:152d9c011bcd
changegroup: add `delta_base_reuse_policy` argument
The argument available through function from changegroup.apply to
`revlog.apply` allow to override the revlog configuration in terms of
delta-base-reuse policy when searching for a delta to store a revision.
It will be put to use in the next changesets.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 03 Dec 2022 01:31:23 +0100 |
parents | 05db41701ece |
children | 9854a9adc466 |
line wrap: on
line diff
--- a/mercurial/revlog.py Sat Dec 03 01:16:22 2022 +0100 +++ b/mercurial/revlog.py Sat Dec 03 01:31:23 2022 +0100 @@ -2663,6 +2663,7 @@ addrevisioncb=None, duplicaterevisioncb=None, debug_info=None, + delta_base_reuse_policy=None, ): """ add a delta group @@ -2678,6 +2679,14 @@ if self._adding_group: raise error.ProgrammingError(b'cannot nest addgroup() calls') + # read the default delta-base reuse policy from revlog config if the + # group did not specify one. + if delta_base_reuse_policy is None: + if self._generaldelta and self._lazydeltabase: + delta_base_reuse_policy = DELTA_BASE_REUSE_TRY + else: + delta_base_reuse_policy = DELTA_BASE_REUSE_NO + self._adding_group = True empty = True try: @@ -2758,7 +2767,7 @@ p1, p2, flags, - (baserev, delta), + (baserev, delta, delta_base_reuse_policy), alwayscache=alwayscache, deltacomputer=deltacomputer, sidedata=sidedata,