Struct git_odb::compound::Db[][src]

pub struct Db {
    pub loose: Db,
    pub packs: Vec<Bundle>,
}

An object database with tiered lookup packs and loose objects. This is a typical git database as used in git repositories, sans ‘alternates’.

Fields

loose: Db

A loose object database into which new objects are written

packs: Vec<Bundle>

All packs in the objects/packs directory

Implementations

impl Db[src]

pub fn find<'a>(
    &self,
    id: impl AsRef<oid>,
    buffer: &'a mut Vec<u8>,
    pack_cache: &mut impl DecodeEntry
) -> Result<Option<Object<'a>>, Error>
[src]

Find an object as identified by ObjectId and store its data in full in the provided buffer. This will search the object in all contained object databases. Use a pack_cache to accelerate pack access by reducing the amount of work duplication, or pack::cache::Never to disable any caching.

impl Db[src]

Instantiation

pub fn at(objects_directory: impl Into<PathBuf>) -> Result<Db, Error>[src]

Returns a compound database as initialized from the given git objects_directory, commonly .git/objects.

Only loose and packed objects will be considered. See the linked Db for a database with support for git alternates, i.e. linking to other repositories.

Trait Implementations

impl Write for Db[src]

type Error = Error

The error type used for all trait methods. Read more

Auto Trait Implementations

impl RefUnwindSafe for Db

impl Send for Db

impl Sync for Db

impl Unpin for Db

impl UnwindSafe for Db

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,