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§

Structs§

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

Enums§

  • 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.