Subject: Re: Strange behaviour of git log --follow

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Thu, 28 Mar 2019 14:16:43 +0100

On Thu, Mar 28 2019, Victor wrote:

> Hello.
>
> $ git log include/__vic/mutex.h
> commit 9429293f8f8fb0819c77cf1f723567f6edc8fb6a
> Merge: 96dd9a2 f484f4e
> Author: __vic <[email-masked]>
> Date: 2017-12-13 10:41:32 +0300
>
>     Merge branch 'generic' into posix
>
> commit f484f4e8aae32041ba56bdce12d1efd8491e94d5
> Merge: 86b848a b9bbbe6
> Author: __vic <[email-masked]>
> Date: 2017-12-12 17:35:10 +0300
>
>     waitable_event, thread, mutex
> $ git log --follow include/__vic/mutex.h
> $
>
> Why --follow makes git produce truncated history for file that wasn't
> renamed?
>
> My repository is available here
> https://github.com/2underscores-vic/__vic

I just briefly looked at this. It's because all changes to the relevant
file are in merge commits. If you run the "log" with "--stat" you'll see
no output.

Something in the --follow machinery takes the same shortcut on merges
and doesn't consider them.