Setting self.head when we don't have a merge conflict is a harmless
no-op---as long as we set it to the commit that was going to be the
stack top anyway---so this patch should not change the behavior. But
it's not really nice to do it unconditionally, especially considering
that we want people to be able to understand what the code does ...
Also add a comment that explains why we set it, since the logic is
rather more hairy than I'd like.
Signed-off-by: Karl Hasselström <kha@treskal.com>