Expand description
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
serde
— Data structures implementserde::Serialize
andserde::Deserialize
.
Re-exports
pub use gix_pack as pack;
Modules
- A file with directories of other git object databases to use when reading objects.
- An object database storing each object in a zlib compressed file with its hash in the path
- The standard object store which should fit all needs.
Structs
- A way to access objects along with pre-configured thread-local caches for packed base objects as well as objects themselves.
- It can optionally compress the content, similarly to what would happen when using a
loose::Store
. - The object store for use in any applications with support for auto-updates in the light of changes to the object database.
Traits
- A way to obtain object properties without fully decoding it.
- An extension trait with convenience functions.
- Describe the capability to write git objects into an object store.
Functions
- Create a new cached handle to the object store.
- Create a new cached handle to the object store with support for additional options.
- Create a new
Sink
with compression disabled.
Type Aliases
- A thread-local handle to access any object.
- A thread-local handle to access any object, but thread-safe and independent of the actual type of
OwnShared
or feature toggles ingix-features
.