Crate gix_ref

Source
Expand description

A crate for handling the references stored in various formats in a git repository.

References are also called refs which are used interchangeably.

Refs are the way to keep track of objects and come in two flavors.

  • symbolic refs are pointing to another reference
  • peeled refs point to the an object by its ObjectId

They can be identified by a relative path and stored in various flavors.

  • files
    • loose
      • one reference maps to a file on disk
    • packed
      • references are stored in a single human-readable file, along with their targets if they are symbolic.

§Feature Flags

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

Re-exports§

pub use gix_object::bstr;

Modules§

file
log
name
namespace
packed
peel
store
transaction
Transactions are the only way make changes to the ref store in order to increase the chance of consistency in a multi-threaded environment.

Structs§

FullName
A validated complete and fully qualified reference name, safe to use for all operations.
FullNameRef
A validated complete and fully qualified reference name, safe to use for all operations.
Namespace
A validated prefix for references to act as a namespace.
PartialName
A validated and potentially partial reference name, safe to use for common operations.
PartialNameRef
A validated and potentially partial reference name, safe to use for common operations.
Reference
A fully owned backend agnostic reference

Enums§

Category
The various known categories of references.
Kind
Denotes the kind of reference.
Target
Denotes a ref target, equivalent to Kind, but with mutable data.
TargetRef
Denotes a ref target, equivalent to Kind, but with immutable data.