accumulate_predecessors

Function accumulate_predecessors 

Source
pub fn accumulate_predecessors(
    new_ops: &[Operation],
    old_ops: &[Operation],
) -> Result<BTreeMap<CommitId, Vec<CommitId>>, WalkPredecessorsError>
Expand description

Collects predecessor records from new_ops to old_ops, and resolves transitive entries.

This function assumes that there exists a single greatest common ancestors between old_ops and new_ops. If old_ops and new_ops have ancestors and descendants each other, or if criss-crossed merges exist between these operations, the returned mapping would be lossy.