Subject: Re: Can't find the revelant commit with git-log

From: René Scharfe <[email-masked]>
Date: Sat, 29 Jan 2011 21:26:16 +0100

Am 29.01.2011 03:34, schrieb René Scharfe:
> Am 29.01.2011 01:02, schrieb Junio C Hamano:
>> Let's look at the original code before your patch again.
>>
>>  1. If all the parents of a commit are the same, we will see (tree_same &&
>>     !tree_changed), so we get TREESAME.
>>
>>  2. If some but not all of the parents are the same, we will see (tree_same
>>     && tree_changed), and we end up getting TREESAME.
>>
>>  3. If none of the parents is the same, (!tree_same && tree_changed) holds
>>     true, and we do not get TREESAME.
> 
> For completeness, a fourth case (!tree_same && !tree_changed), which
> would be triggered by commits whose parents are all classified as
> REV_TREE_NEW.  That's another corner case for sure, but the old code
> would mark it TREESAME and your patch changes that.

Ugh, forget this part, I failed to notice the /* fallthrough */ at the
end of the REV_TREE_NEW case..

René