On Thu, Sep 30, 2021 at 1:06 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Jeff King <peff@xxxxxxxx> writes: > > > - is it possible for the merge code to ever write an object? I kind of > > wonder if we'd ever do any cache-able transformations as part of a > > content-level merge. I don't think we do now, though. > > How is virtual merge base, result of an inner merge that recursively > merging two merge bases, fed to an outer merge as the ancestor? > Isn't it written as a tree object by the inner merge as a tree with > full of blob objects, so the outer merge does not have to treat a > merge base tree that is virtual any specially from a sole merge > base? Yes. And that's not unique to the inner merges; it also writes new blob and tree objects for the outer merge, and then passes the resulting toplevel tree id out as the result.