Crate git_object[][src]

Expand description

This crate provides types for read-only git objects backed by bytes provided in git’s serialization format as well as mutable versions of these. Both types of objects can be encoded.

Re-exports

pub use bstr;

Modules

Structs

A mutable chunk of any data.

A chunk of any data.

A mutable git commit, representing an annotated state of a working tree along with a reference to its historical commits.

A git commit parsed using from_bytes().

Like CommitRef, but as Iterator to support (up to) entirely allocation free parsing. It’s particularly useful to traverse the commit graph without ever allocating arrays for parents.

A mutable git tag.

Represents a git tag, commonly indicating a software release.

Like TagRef, but as Iterator to support entirely allocation free parsing. It’s particularly useful to dereference only the target chain.

A mutable Tree, containing other trees, blobs or commits.

A directory snapshot containing files (blobs), directories (trees) and submodules (commits).

A directory snapshot containing files (blobs), directories (trees) and submodules (commits), lazily evaluated.

Enums

The four types of objects that git differentiates. #[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy)]

Mutable objects with each field being separately allocated and changeable.

Immutable objects are read-only structures referencing most data from a byte slice.

Traits

Writing of objects to a Write implementation