@b0rk very nice! I don't use git a lot, but while reading your explanations, a question popped up that might be good to answer if it fits: In a merge commit, is the first parent ours or theirs?

I just read the explanation of "ours", then HEAD^2 was introduced, that seems pike it should be expressible in these terms?