diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py +++ b/mercurial/revlogutils/deltas.py @@ -646,6 +646,11 @@ if good is not None: break + # If sparse revlog is enabled, we can try to refine the available deltas + if not revlog._sparserevlog: + yield None + return + # if we have a refinable value, try to refine it if good is not None and good not in (p1, p2) and revlog.issnapshot(good): # refine snapshot down