From: Kristofer Karlsson Date: Mon, 21 Sep 2026 09:49:33 GMT Subject: Re: Bugreport: git log -L Message-ID: In-Reply-To: <41c54b809eb1490fb467ba0fd4c5a8cf@yadro.com> On Mon, 21 Sept 2026 at 09:49, Nikita Makarov wrote: > > Hello, I have the found the strange behavior of "git log -L" command with python function. > It is counting a blank line that sits after a function's last statement as part of that function. > This happens only when the function is at the end of a file. > > The way to reproduce that > > git init repro && cd repro > git config user.email t@t && git config user.name t > > printf 'def foo():\n return 1\n\n' > bug.py > git add bug.py && git commit -qm c1 > > printf 'def foo():\n return 1\n' > bug.py > git add bug.py && git commit -qm c2 > > Then do > > git log -L :'foo':bug.py > > And you'll see > > Author: t > Date: Fri Sep 18 18:21:10 2026 +0300 > > c2 > > diff --git a/bug.py b/bug.py > --- a/bug.py > +++ b/bug.py > @@ -1,2 +1,3 @@ > def foo(): > return 1 > + > > Though I expect that commit "c2" should never appear in log, since the changes from it doesn't affect the functions body at all. I tried to reproduce this but failed to do so. I first started wondering if this meant the bug had been fixed in master already, but then I also failed to reproduce it on 2.43. I think the reproduction steps were wrong here, perhaps you meant to put the double newline in c2 instead of in c1? Because if I change that, I can reproduce it. So the steps should have: printf 'def foo():\n return 1\n' > bug.py git add bug.py && git commit -qm c1 printf 'def foo():\n return 1\n\n' > bug.py git add bug.py && git commit -qm c2 instead. I think I should be able to submit a fix for this shortly. Thanks, Kristofer