Docs.rs
  • git-odb-0.41.0
    • git-odb 0.41.0
    • Permalink
    • Docs.rs crate page
    • MIT/Apache-2.0
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • Byron
    • Dependencies
      • arc-swap ^1.5.0 normal
      • document-features ^0.2.0 normal optional
      • git-features ^0.26.5 normal
      • git-hash ^0.10.3 normal
      • git-object ^0.26.2 normal
      • git-pack ^0.31.0 normal
      • git-path ^0.7.2 normal
      • git-quote ^0.4.2 normal
      • parking_lot ^0.12.0 normal
      • serde ^1.0.114 normal optional
      • tempfile ^3.1.0 normal
      • thiserror ^1.0.26 normal
      • crossbeam-channel ^0.5.6 dev
      • filetime ^0.2.15 dev
      • maplit ^1.0.2 dev
      • num_cpus ^1.13.1 dev
      • pretty_assertions ^1.0.0 dev
    • Versions
    • 100% of the crate is documented
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Badges
    • Builds
    • Metadata
    • Shorthand URLs
    • Download
    • Rustdoc JSON
    • Build queue
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate git_odb

git_odb0.41.0

  • All Items

Sections

  • Feature Flags

Crate Items

  • Re-exports
  • Modules
  • Structs
  • Traits
  • Functions
  • Type Aliases

Crates

  • git_odb

Crate git_odb

Source
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

  • serde1 — Data structures implement serde::Serialize and serde::Deserialize.

Re-exports§

pub use git_pack as pack;

Modules§

alternate
A file with directories of other git object databases to use when reading objects.
cache
find
loose
An object database storing each object in a zlib compressed file with its hash in the path
sink
store
The standard object store which should fit all needs.

Structs§

Cache
A way to access objects along with pre-configured thread-local caches for packed base objects as well as objects themselves.
Sink
It can optionally compress the content, similarly to what would happen when using a loose::Store.
Store
The object store for use in any applications with support for auto-updates in the light of changes to the object database.

Traits§

Find
Describe how object can be located in an object store.
FindExt
An extension trait with convenience functions.
Header
A way to obtain object properties without fully decoding it.
HeaderExt
An extension trait with convenience functions.
Write
Describe the capability to write git objects into an object store.

Functions§

at
Create a new cached handle to the object store.
at_opts
Create a new cached handle to the object store with support for additional options.
sink
Create a new Sink with compression disabled.

Type Aliases§

Handle
A thread-local handle to access any object.
HandleArc
A thread-local handle to access any object, but thread-safe and independent of the actual type of OwnShared or feature toggles in git-features.

Results

Settings
Help

Type "Object" not found. Showing results for closest type name "objectid" instead.

    enum variant
    git_odb::find::existing_iter::Error::ObjectKind
    enum variant
    git_odb::find::existing_object::Error::ObjectKind
    method
    git_odb::Store::object_hash
    The kind of object hash to assume when dealing with pack …
    method
    git_odb::loose::Store::object_hash
    Return the kind of hash we would iterate and write.
    struct field
    git_odb::store::init::Options::object_hash
    The kind of hash we expect in our packs and would use for …
    type alias
    git_odb::cache::ObjectCache
    A type to store object caches in boxes.
    enum variant
    git_odb::loose::verify::integrity::Error::ObjectDecode
    struct field
    git_odb::store::structure::Record::LooseObjectDatabase::objects_directory
    The root of the object database.
    enum variant
    git_odb::loose::verify::integrity::Error::ObjectHashMismatch
    struct
    git_odb::store::iter::AllObjects
    An iterator over all, possibly duplicate, objects of an …
    struct field
    git_odb::loose::verify::integrity::Statistics::num_objects
    The amount of loose objects we checked.
    struct field
    git_odb::store::structure::Record::LooseObjectDatabase::num_objects
    The amount of object files.
    method
    git_odb::Cache::has_object_cache
    Return true if an object cache is present.
    type alias
    git_odb::cache::NewObjectCacheFn
    A constructor for boxed object caches.
    method
    git_odb::Cache::set_object_cache
    Set the object cache constructor on this instance.
    method
    git_odb::Cache::with_object_cache
    Use this methods directly after creating a new instance to …
    enum variant
    git_odb::loose::verify::integrity::ProgressId::LooseObjects
    The amount of loose objects that have been verified.
    method
    git_odb::Cache::unset_object_cache
    Remove the current object cache as well as its constructor …
    struct field
    git_odb::store::verify::integrity::Outcome::loose_object_stores
    Statistics for validated loose object stores.
    enum variant
    git_odb::store::structure::Record::LooseObjectDatabase
    A loose object database.
    struct
    git_odb::store::verify::integrity::LooseObjectStatistics
    Integrity information about loose object databases
    enum variant
    git_odb::store::verify::integrity::Error::LooseObjectStoreIntegrity
    method
    git_odb::store::Handle::packed_object_count
    Return the exact number of packed objects after loading …
    module
    git_odb::find::existing_object
    enum variant
    git_odb::store::verify::integrity::ProgressId::VerifyLooseObjectDbPath
    Contains the path of the currently validated loose object …
    method
    git_odb::store::prefix::disambiguate::Candidate::new
    Into<ObjectId>, usize -> Result<Candidate, Error>
    Create a new potentially ambiguous prefix from an id and …
    struct field
    git_odb::store::find::Error::DeltaBaseRecursionLimit::id
    DeltaBaseRecursionLimit -> ObjectId
    The original object to lookup
    struct field
    git_odb::store::find::Error::DeltaBaseMissing::id
    DeltaBaseMissing -> ObjectId
    The original object to lookup
    struct field
    git_odb::store::find::Error::DeltaBaseLookup::id
    DeltaBaseLookup -> ObjectId
    The original object to lookup
    struct field
    git_odb::loose::verify::integrity::Error::ObjectDecode::id
    ObjectDecode -> ObjectId
    struct field
    git_odb::find::existing::Error::NotFound::oid
    NotFound -> ObjectId
    struct field
    git_odb::find::existing_iter::Error::NotFound::oid
    NotFound -> ObjectId
    struct field
    git_odb::find::existing_object::Error::NotFound::oid
    NotFound -> ObjectId
    struct field
    git_odb::loose::verify::integrity::Error::ObjectHashMismatch::actual
    ObjectHashMismatch -> ObjectId
    struct field
    git_odb::store::find::Error::DeltaBaseMissing::base_id
    DeltaBaseMissing -> ObjectId
    the id of the base object which failed to lookup
    struct field
    git_odb::store::find::Error::DeltaBaseLookup::base_id
    DeltaBaseLookup -> ObjectId
    the id of the base object which failed to lookup
    struct field
    git_odb::loose::verify::integrity::Error::ObjectHashMismatch::expected
    ObjectHashMismatch -> ObjectId
    method
    git_odb::loose::Store::write
    &Store, Write::Error -> Result<ObjectId, undefined>
    method
    git_odb::loose::Store::write_buf
    &Store, Kind, &[u8] -> Result<ObjectId, Write::Error>
    Write the given buffer in from to disk in one syscall at …
    method
    git_odb::loose::Store::write_stream
    &Store, Kind, u64, Write::Error -> Result<ObjectId, undefined>
    Write the given stream in from to disk with at least one …
    method
    git_odb::Sink::write_stream
    &Sink, Kind, u64, Write::Error -> Result<ObjectId, undefined>
    method
    git_odb::Cache::write_stream
    &Cache<S>, Kind, u64, Write::Error -> Result<ObjectId, undefined>
    method
    git_odb::Write::write
    &Write, undefined -> Result<ObjectId, Write::Error>
    Write objects using the intrinsic kind of hash into the …
    method
    git_odb::Write::write_buf
    &Write, Kind, &[u8] -> Result<ObjectId, Write::Error>
    As write, but takes an object kind along with its encoded …
    trait method
    git_odb::Write::write_stream
    &Write, Kind, u64, undefined -> Result<ObjectId, Write::Error>
    As write, but takes an input stream. This is commonly used …
    method
    git_odb::store::Handle::write_stream
    &Handle<S>, Kind, u64, Write::Error -> Result<ObjectId, undefined>