Hi, A colleague recently experimented with "git blame -C" and noticed that the accuracy with which git detects lines moved from other files varies a lot depending on the sizes of the files involved. Example repository: https://github.com/Boddlnagg/git-blame-problem The latest commit on all branches moves some lines from Decl.cpp to line 93 of DeclBase.cpp. "git blame -C" doesn't detect this on main, but on the "works-as-expected" branch, in which the size of Decl.cpp was artificially reduced, it does. Further experiments show that the following work as well: git blame -L 93,95 -C main -- DeclBase.cpp git blame -L 80,108 -C main -- DeclBase.cpp However, with a sufficiently large range, it stops working again: git blame -L 80,109 -C main -- DeclBase.cpp How does the pickaxe search of git blame work under the hood? Are there any configuration options I can use if I want to trade performance for accuracy? Best regards, Moritz Baumann