Patch Set 2:

To implement the recursive part of merge recursive (which handles cases where there are multiple merge bases) we need to run in-core, even though we have a working directory.

So I wouldn't assume incore == isbare.