#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

#26 in #along

Download history 20/week @ 2024-01-01 47/week @ 2024-01-08 39/week @ 2024-01-15 8/week @ 2024-01-22 16/week @ 2024-01-29 49/week @ 2024-02-05 33/week @ 2024-02-19 123/week @ 2024-02-26 40/week @ 2024-03-04 175/week @ 2024-03-11 68/week @ 2024-03-18 18/week @ 2024-03-25 537/week @ 2024-04-01 41/week @ 2024-04-08 36/week @ 2024-04-15

638 downloads per month
Used in 5 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–20MB
~250K SLoC