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.
- loose
§Feature Flags
serde1
— Data structures implementserde::Serialize
andserde::Deserialize
.
Re-exports§
pub use git_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§
- Full
Name - Indicate that the given BString is a validate reference name or path that can be used as path on disk or written as target of a symbolic reference
- Full
Name Ref - A validated and potentially partial reference name - it can safely be used for common operations.
- Namespace
- A validated prefix for references to act as a namespace.
- Partial
Name - A validated complete and fully qualified owned reference name, safe to use for all operations.
- Partial
Name Cow - A validated complete and fully qualified reference name, safe to use for all operations.
- Partial
Name Ref - A validated complete and fully qualified referenced reference name, safe to use for all operations.
- Reference
- A fully owned backend agnostic reference