Crate dag

Source
Expand description

§dag

Building blocks for the commit graph used by source control.

Re-exports§

pub use iddag::FirstAncestorConstraint;
pub use iddag::IdDag;
pub use iddag::IdDagAlgorithm;
pub use iddagstore::IdDagStore;
pub use idmap::IdMap;
pub use namedag::NameDag;
pub use namedag::NameDagBuilder;
pub use nameset::NameSet;
pub use ops::DagAlgorithm;
pub use segment::IdSegment;
pub use namedag::MemNameDag as MemDag;
pub use nameset::NameIter as SetIter;
pub use errors::DagError as Error;
pub use nonblocking;

Modules§

clone
errors
id
id
iddag
iddagstore
idmap
idmap
namedag
namedag
nameset
nameset
ops
DAG and Id operations (mostly traits)
protocol
protocol
render
segment
segment
tests
utils

Macros§

delegate
Macro rules to delegate trait implementations
failpoint

Structs§

CloneData
FlatSegment
Base segment.
Group
An integer that separates distinct groups of Ids.
Id
An integer Id representing a node in the graph. Ids are topologically sorted.
Location
The position of one node in the graph relative their known descendant. This structure is relevant when the IdMap is lazy. Assuming that all parents of merges and all heads are known then any node can be represented as their first descendant and the distance to that descendant.
PreparedFlatSegments
These segments can be used directly in the build process of the IdDag. They produced by IdMap::assign_head and IdDag::all_flat_segments.
VerLink
A linked list tracking a logic “version” with compatibility rules:
VertexListWithOptions
A list of VertexNames (usually heads) with options attached to each vertex.
VertexName
Name of a vertex in the graph.
VertexOptions
Options attached to a vertex. Usually the vertex is a head. The head and its ancestors are going to be inserted to the graph. The options controls some details about the insertion.

Traits§

Repair
Repair a structure at the given path.

Functions§

describe_indexedlog_entry
Describe bytes of an indexedlog entry. This is only for troubleshooting purpose.

Type Aliases§

Dag
IdSet
IdSetIter
IdSpan
InProcessIdDag
Level
OnDiskIdDag
Result
Set
Vertex