Bugreport: git log -L
From: Nikita Makarov <hidden>
Date: 2026-09-21 07:45:24
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <t@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. [System Info] git version: git version 2.43.0 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 7.0.0-31-generic #31~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Aug 10 09:38:02 UTC 2 x86_64 compiler info: gnuc: 13.3 libc info: glibc: 2.39 $SHELL (typically, interactive shell): /bin/bash [Enabled Hooks]