gix_merge::commit

Function virtual_merge_base

Source
pub fn virtual_merge_base<'objects>(
    first_commit: ObjectId,
    second_commit: ObjectId,
    others: Vec<ObjectId>,
    graph: &mut Graph<'_, '_, Commit<Flags>>,
    diff_resource_cache: &mut Platform,
    blob_merge: &mut Platform,
    objects: &'objects (impl FindObjectOrHeader + Write),
    abbreviate_hash: &mut dyn FnMut(&oid) -> String,
    options: Options,
) -> Result<Outcome, Error>
Expand description

Create a single virtual merge-base by merging first_commit, second_commit and others into one. Note that first_commit and second_commit are expected to have been popped off others, so first_commit was the last provided merge-base of function that provides multiple merge-bases for a pair of commits.

The parameters graph, diff_resource_cache, blob_merge, objects, abbreviate_hash and options are passed directly to tree() for merging the trees of two merge-bases at a time. Note that most of options are overwritten to match the requirements of a merge-base merge.