#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

#2 in #loose

Download history 37/week @ 2024-11-20 43/week @ 2024-11-27 91/week @ 2024-12-04 123/week @ 2024-12-11 55/week @ 2024-12-18 53/week @ 2024-12-25 35/week @ 2025-01-01 32/week @ 2025-01-08 47/week @ 2025-01-15 40/week @ 2025-01-22 73/week @ 2025-01-29 162/week @ 2025-02-05 169/week @ 2025-02-12 95/week @ 2025-02-19 161/week @ 2025-02-26 86/week @ 2025-03-05

514 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–18MB
~261K SLoC