Known subclasses: dulwich.pack.PackIndexer, dulwich.pack.PackInflater, dulwich.tests.test_pack.TestPackIterator

Abstract iterator over pack data based on delta chains.

Each object in the pack is guaranteed to be inflated exactly once, regardless of how many objects reference it as a delta base. As a result, memory usage is proportional to the length of the longest delta chain.

Subclasses can override _result to define the result type of the iterator. By default, results are UnpackedObjects with the following members set:

  • offset
  • obj_type_num
  • obj_chunks
  • pack_type_num
  • delta_base (for delta types)
  • comp_chunks (if _include_comp is True)
  • decomp_chunks
  • decomp_len
  • crc32 (if _compute_crc32 is True)
Method __init__ Undocumented
Class Method for_pack_data Undocumented
Method record Undocumented
Method set_pack_data Undocumented
Method __iter__ Undocumented
Method ext_refs Undocumented
Method _walk_all_chains Undocumented
Method _ensure_no_pending Undocumented
Method _walk_ref_chains Undocumented
Method _result Undocumented
Method _resolve_object Undocumented
Method _follow_chain Undocumented
def __init__(self, file_obj, resolve_ext_ref=None):
Undocumented
@classmethod
def for_pack_data(cls, pack_data, resolve_ext_ref=None):
Undocumented
def record(self, unpacked):
Undocumented
def set_pack_data(self, pack_data):
Undocumented
def _walk_all_chains(self):
Undocumented
def _ensure_no_pending(self):
Undocumented
def _walk_ref_chains(self):
Undocumented
def _resolve_object(self, offset, obj_type_num, base_chunks):
Undocumented
def _follow_chain(self, offset, obj_type_num, base_chunks):
Undocumented
def __iter__(self):
Undocumented
def ext_refs(self):
Undocumented
API Documentation for Dulwich, generated by pydoctor at 2018-11-17 19:05:54.