git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: `git blame` Line Number Off-by-one

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 7, 2020, 22:05 UTC
Message-ID
<xmqq7duaf6xk.fsf@gitster.c.googlers.com>
In-Reply-To
<20200807213349.GB1871940@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> Dropping it entirely, as below, doesn't break any tests. Junio, do you
> know of a case this is meant to improve?

I think the only conceivable case is that in the middle of a single block of text in an ancient version, another block of lines gets inserted during the evolution of the file, but in the end these intermediate edits all go away and the same original text remains.

In such a case, without coalescing, we would not treat the original single block of text as a single unit.

IIRC, blame has some threshold that makes too small a block not subject to move and copy detection, and it is most likely to avoid fragmenting the blocks too small.

Previous: Jeff KingNext: Jeff King
Message 5 of 16 in “`git blame` Line Number Off-by-one”
  1. Nuthan MunaiahAug 7, 2020
  2. Jeff KingAug 7, 2020
  3. Jeff KingAug 7, 2020
  4. Jeff KingAug 7, 2020
  5. Junio C HamanoAug 7, 2020
  6. Jeff KingAug 7, 2020
  7. Jeff KingAug 7, 2020
  8. 0/3 blame: fix bug in coalescing non-adjacent "-L" chunksJeff King, Aug 13, 2020
  9. 1/3 t8003: check output of coalesced blameJeff King, Aug 13, 2020
  10. Junio C HamanoAug 13, 2020
  11. Jeff KingAug 13, 2020
  12. 2/3 t8003: factor setup out of coalesce testJeff King, Aug 13, 2020
  13. 3/3 blame: only coalesce lines that are adjacent in resultJeff King, Aug 13, 2020
  14. Junio C HamanoAug 13, 2020
  15. Junio C HamanoAug 13, 2020
  16. Barret RhodenAug 13, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.