38 releases (breaking)
0.31.0 | Feb 17, 2023 |
---|---|
0.30.1 | Jan 10, 2023 |
0.29.0 | Dec 30, 2022 |
0.27.0 | Nov 21, 2022 |
0.2.0 | May 25, 2021 |
#24 in #index-file
345 downloads per month
Used in 5 crates
(2 directly)
695KB
14K
SLoC
Git stores all of its data as Objects, which are data along with a hash over all data. Storing objects efficiently is what git packs are concerned about.
Packs consist of data files and index files. The latter can be generated from a data file and make accessing objects within a pack feasible.
A [Bundle] conveniently combines a data pack alongside its index to allow [finding][Find] objects or verifying the pack.
Objects returned by .find(…)
are objects which know their pack location in order to speed up
various common operations like creating new packs from existing ones.
When traversing all objects in a pack, a delta tree acceleration structure can be built from pack data or an index in order to decompress packs in parallel and without any waste.
Feature Flags
Dependencies
~6–17MB
~219K SLoC