Skip to main content

make_mpdiffs

Function make_mpdiffs 

Source
pub fn make_mpdiffs(
    vf: &dyn VersionedFiles,
    ordered_keys: &[Key],
) -> Result<Vec<MultiParent>, KnitError>
Expand description

Generate multi-parent diffs for ordered_keys, in input order.

Mirrors bzrformats.versionedfile._MPDiffGenerator.compute_diffs. The generator pulls every key’s text (and its non-ghost parents’ texts) out of vf via get_record_stream, then walks the stream in topological order, refcount-releasing parent cache entries as soon as no children still need them, and computes one crate::multiparent::MultiParent per ordered key.