diff --git a/mercurial/utils/storageutil.py b/mercurial/utils/storageutil.py --- a/mercurial/utils/storageutil.py +++ b/mercurial/utils/storageutil.py @@ -396,6 +396,9 @@ def emitrevisions( # Set of revs available to delta against. available = set() + def is_usable_base(rev): + return rev != nullrev and rev in available + for rev in revs: if rev == nullrev: continue @@ -445,7 +448,7 @@ def emitrevisions( elif deltaparentrev != nullrev: # Base revision was already emitted in this group. We can # always safely use the delta. - if deltaparentrev in available: + if is_usable_base(deltaparentrev): if debug_info is not None: debug_delta_source = "storage" baserev = deltaparentrev