← Back to team overview

dulwich-users team mailing list archive

[PATCHv2 00/33] Rewrite and speed up pack inflation

 

I think I've addressed all your comments.

065a81f pack: Standardize on single quotes.
e0c66f5 pack: Clean up unpack_object.
16df7d6 pack: Compute CRC32 during object unpacking.
5814ac5 pack: Inline PackObjectIterator.
5d8b84e object_store: Fix return type of MemoryObjectStore.get_raw.
3ebe7ba pack: Add a DeltaChainIterator for faster iteration of PackData.
2910a98 Make the server thread raise errors in compat tests.
bd2849c server: Fix short-circuit behavior for no-op fetches.
ac5582c pack: Add a PackIndexer to index packs more quickly.
29e7702 pack: PackStreamReader SHA calculation and docstring cleanup.
2899cd8 pack: Expose which refs were external in DeltaChainIterator.
bb7ab63 pack: Allow write_pack_object to compute a SHA.
35d6c1a server: Make PackStreamCopier optionally record delta chains.
efbf9b2 tests: Move write_pack_data to utils.build_pack.
a220f1e misc: Add SEEK_CUR.
af2b825 pack: Include offset in PackStreamReader results.
12f6abb tests/utils: Pass a file object into build_pack.
72a2b01 Move PackStreamReader from server to pack.
adc33c6 pack: use SEEK_END for PackData.get_stored_checksum().
a3c4695 test_pack: Test checksum and length mismatch conditions.
49a2efd pack: Extract a method to check pack length and SHA.
a57013a pack: Extract a function to compute the SHA of a file.
d435af1 Rewrite add_thin_pack to use the fast PackIndexer.
e232e17 pack: Pass a zlib buffer size through to read_zlib_chunks.
4d88cb2 pack: Fix a buffering issue with PackStreamReader; add tests.
8cd89ac pack: Add PackInflater to quickly inflate pack objects.
6330952 pack: Nuke ThinPackData.
5e5afac _compat: Use namedtuple recipe rather than hard-coding.
12513e3 _compat: Inline specific namedtuple instances.
49140a0 pack: Create an UnpackedObject for better encapsulation.
5d43b49 pack: Add option to include compressed data in UnpackedObjects.
1917422 pack: Remove comp_len from UnpackedObject.
eaf8b77 pack: Extract a function to write a packed object header.

 NEWS                                |   45 ++
 dulwich/_compat.py                  |  204 ++++++----
 dulwich/diff_tree.py                |    6 +-
 dulwich/object_store.py             |  116 ++++--
 dulwich/objects.py                  |    6 +-
 dulwich/pack.py                     |  766 ++++++++++++++++++++++++-----------
 dulwich/repo.py                     |    2 -
 dulwich/server.py                   |   80 ++--
 dulwich/tests/compat/test_server.py |    3 +-
 dulwich/tests/compat/test_web.py    |   11 +-
 dulwich/tests/test_object_store.py  |   29 ++-
 dulwich/tests/test_pack.py          |  434 ++++++++++++++++++--
 dulwich/tests/test_server.py        |    2 +-
 dulwich/tests/utils.py              |   83 ++++
 14 files changed, 1332 insertions(+), 455 deletions(-)


Follow ups