Subject: Re: --first-parent plus path limiting

From: Johannes Sixt <[email-masked]>
Date: Tue, 29 Jan 2008 10:05:01 +0100

Junio C Hamano schrieb:
> Johannes Sixt <[email-masked]> writes:
> 
>> While trying to find out when builtin-fetch.c was merged into master, I
>> noticed that this:
>>
>> $ git log --first-parent --pretty=oneline -- builtin-fetch.c
>>
>> lists b888d61c (Make fetch a builtin), which I did not expect.
> 
> Why didn't you?

Because ... [see below]

>> This one
>> doesn't list it, as expected:
>>
>> $ git log --first-parent --pretty=oneline
> 
> Why did you expect that?  This tells "follow only the first
> parent chain, ignoring all merges".

With "as expected" I actually meant "as expected", not "contrary to
expectations" ;) So, I did expect *not* to see the commit when the path is
not limited.

> The former is about "First simplify the history with respect to
> builtin-fetch.c, and then follow the first-parent of the
> simplified history.

I was expecting that it works like "First follow the first-parent, and
then simplify the history with respect to builtin-fetch.c." But that's
certainly a matter of definition. In this case, I would have found my
interpretation more useful, but then I don't use --first-parent that often...

Thanks for your clarifications,
-- Hannes