mercurial/utils/storageutil.py
changeset 49667 191f5057ec45
parent 49609 9cac281eb9c0
child 49668 383c79f8e5a7
equal deleted inserted replaced
49666:4bd12c0f531e 49667:191f5057ec45
   394         prevrev = store.parentrevs(revs[0])[0]
   394         prevrev = store.parentrevs(revs[0])[0]
   395 
   395 
   396     # Set of revs available to delta against.
   396     # Set of revs available to delta against.
   397     available = set()
   397     available = set()
   398 
   398 
       
   399     def is_usable_base(rev):
       
   400         return rev != nullrev and rev in available
       
   401 
   399     for rev in revs:
   402     for rev in revs:
   400         if rev == nullrev:
   403         if rev == nullrev:
   401             continue
   404             continue
   402 
   405 
   403         debug_delta_source = None
   406         debug_delta_source = None
   443         # amounts to effectively copying data from storage and is
   446         # amounts to effectively copying data from storage and is
   444         # therefore the fastest.
   447         # therefore the fastest.
   445         elif deltaparentrev != nullrev:
   448         elif deltaparentrev != nullrev:
   446             # Base revision was already emitted in this group. We can
   449             # Base revision was already emitted in this group. We can
   447             # always safely use the delta.
   450             # always safely use the delta.
   448             if deltaparentrev in available:
   451             if is_usable_base(deltaparentrev):
   449                 if debug_info is not None:
   452                 if debug_info is not None:
   450                     debug_delta_source = "storage"
   453                     debug_delta_source = "storage"
   451                 baserev = deltaparentrev
   454                 baserev = deltaparentrev
   452 
   455 
   453             # Base revision is a parent that hasn't been emitted already.
   456             # Base revision is a parent that hasn't been emitted already.