Crate gix_revision

Source
Expand description

Interact with git revisions by parsing them from rev-specs and describing them in terms of reference names.

§Feature Flags

  • describe (enabled by default)git describe functionality
  • merge_base (enabled by default)git merge-base functionality
  • serde — Data structures implement serde::Serialize and serde::Deserialize.

Modules§

describedescribe
graph
merge_basemerge_base
spec

Structs§

Graph
A graph of commits which additionally allows to associate data with commits.
PriorityQueue
A utility type implementing a queue which can be used to automatically sort data by its time in ascending order.

Enums§

Spec
A revision specification without any bindings to a repository, useful for serialization or movement over thread boundaries.

Functions§

describedescribe
Given a commit id, traverse the commit graph and collect candidate names from the name_by_oid mapping to produce an Outcome, which converted into_format() will produce a typical git describe string.
merge_basemerge_base
Given a commit at first id, traverse the commit graph and return all possible merge-base between it and others, sorted from best to worst. Returns None if there is no merge-base as first and others don’t share history. If others is empty, Some(first) is returned.