#object-store #git #hash #pack #loose #along #reading

deprecated git-odb

Please use gix-<thiscrate> instead (‘git’ -> ‘gix’)

51 releases (breaking)

0.41.0 Feb 17, 2023
0.40.1 Jan 10, 2023
0.39.0 Dec 30, 2022
0.37.0 Nov 21, 2022
0.1.0 Jul 12, 2020

#27 in #along

Download history 61/week @ 2024-07-19 316/week @ 2024-07-26 91/week @ 2024-08-02 54/week @ 2024-08-09 22/week @ 2024-08-16 21/week @ 2024-08-23 71/week @ 2024-08-30 42/week @ 2024-09-06 22/week @ 2024-09-13 105/week @ 2024-09-20 61/week @ 2024-09-27 84/week @ 2024-10-04 108/week @ 2024-10-11 68/week @ 2024-10-18 117/week @ 2024-10-25 48/week @ 2024-11-01

355 downloads per month
Used in 4 crates (via git-repository)

MIT/Apache

1MB
17K SLoC

Git stores all of its data as Objects, which are data along with a hash over all data. Thus it's an object store indexed by the signature of data itself with inherent deduplication: the same data will have the same hash, and thus occupy the same space within the store.

There is only one all-round object store, also known as the Store, as it supports everything most of what git has to offer.

  • loose object reading and writing
  • access to packed objects
  • multiple loose objects and pack locations as gathered from alternates files.

Feature Flags

Dependencies

~8–19MB
~253K SLoC