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.