Consider the following commit graph
HEAD | \ A F B | C | D | | / E
For the merge base of HEAD and C, the naive algorithm used by isomorphic-git
will return E as the merge base, as the walkers reach E first.
But the best merge base would be C itself, being an ancestor of HEAD already,
with total distance of 3 as opposed to 4 for E.
Without retrieving or computing generation numbers this will never get quite right.