Skip to content
Snippets Groups Projects
Commit 993d7e2c8b79 authored by Boris Feld's avatar Boris Feld
Browse files

snapshot: make sure we'll never refine delta base from a reused source

The point of reusing delta from the source is to avoid doing computation when
applying a bundle. Refining such delta would go against that spirit.

We do not have refining logic in place yet. This code needed to be moved out
of the way before we could start adding such logic.
parent cc85ebb68ff9
No related merge requests found
......@@ -630,6 +630,19 @@
def _refinedgroups(revlog, p1, p2, cachedelta):
good = None
# First we try to reuse a the delta contained in the bundle.
# (or from the source revlog)
#
# This logic only applies to general delta repositories and can be disabled
# through configuration. Disabling reuse source delta is useful when
# we want to make sure we recomputed "optimal" deltas.
if cachedelta and revlog._generaldelta and revlog._lazydeltabase:
# Assume what we received from the server is a good choice
# build delta will reuse the cache
good = yield (cachedelta[0],)
if good is not None:
yield None
return
for candidates in _rawgroups(revlog, p1, p2, cachedelta):
good = yield candidates
if good is not None:
......@@ -651,17 +664,6 @@
prev = curr - 1
deltachain = lambda rev: revlog._deltachain(rev)[0]
# First we try to reuse a the delta contained in the bundle.
# (or from the source revlog)
#
# This logic only applies to general delta repositories and can be disabled
# through configuration. Disabling reuse of source delta is useful when
# we want to make sure we recomputed "optimal" deltas.
if cachedelta and gdelta and revlog._lazydeltabase:
# Assume what we received from the server is a good choice
# build delta will reuse the cache
yield (cachedelta[0],)
if gdelta:
# exclude already lazy tested base if any
parents = [p for p in (p1, p2) if p != nullrev]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment