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

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

#22 in #along

Download history 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 117/week @ 2024-04-22 182/week @ 2024-04-29 46/week @ 2024-05-06 21/week @ 2024-05-13 45/week @ 2024-05-20 38/week @ 2024-05-27 61/week @ 2024-06-03 51/week @ 2024-06-10 43/week @ 2024-06-17 48/week @ 2024-06-24

208 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
~251K SLoC