Re: Accuracy of "git blame -C" - are there configuration options?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Maybe I should rephrase the question to clarify what I want to achieve:

Is there a way to execute 'git blame -C' for an entire large file at 
once and get the same accurate results as if 'git blame -C -L' had been
called for each line separately?

---
 
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux