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

Re: Introduction and Wikipedia and Git Blame

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 16, 2009, 20:05 UTC
Message-ID
<7vpr8nt894.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7v7huvuptn.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 17 quoted lines
> "jamesmikedupont@googlemail.com" <jamesmikedupont@googlemail.com> writes:
>
>>> You would need to postprocess the computed result (either by diff or
>>> blame) to lay out the final text output in either case anyway, and making
>>> the existing blame engine do the work for you would be a better approach,
>>> I think.
>>
>> Please can you tell me what is the basic algorithm of the blame engine?
>
> I think this is one of the most conprehensive write-up on the algorithm:
>
>   http://thread.gmane.org/gmane.comp.version-control.git/28826/focus=28895
>
> The whole thread (at least what I wrote in it) is worth reading if you
> want to understand what the current code does.  The first message in the
> thread talks about "NEEDSWORK" label on an unimplemented part of the code,
> and says "we could", but these gaps were since filled.

Ah, nevermind. The thread is the definitive description of the blame algorithm, but I agree with Dscho that in this case, you either have to change blame itself to do this "byte-wise" comparison internally between versions, or re-do the blame logic yourself like Dscho suggests. Dscho is right in this case; an unmodifled blame engine, unless you feed a history that is converted to use the byte-per-line format, won't help you at all.

So it would be either between rolling a custom byte-wise blame algorithm yourself and teaching a new byte-wise mode to existing blame engine. Sorry for making the task sound much easier than it would be.

Previous: Junio C HamanoNext: jamesmikedupont@googlemail.com
Message 10 of 15 in “Introduction and Wikipedia and Git Blame”
  1. jamesmikedupont@googlemail.comOct 16, 2009
  2. Johannes SchindelinOct 16, 2009
  3. Martin LanghoffOct 16, 2009
  4. jamesmikedupont@googlemail.comOct 16, 2009
  5. Johannes SchindelinOct 16, 2009
  6. jamesmikedupont@googlemail.comOct 16, 2009
  7. Junio C HamanoOct 16, 2009
  8. jamesmikedupont@googlemail.comOct 16, 2009
  9. Junio C HamanoOct 16, 2009
  10. Junio C HamanoOct 16, 2009
  11. jamesmikedupont@googlemail.comOct 16, 2009
  12. Junio C HamanoOct 16, 2009
  13. jamesmikedupont@googlemail.comOct 17, 2009
  14. jamesmikedupont@googlemail.comOct 17, 2009
  15. jamesmikedupont@googlemail.comOct 22, 2009

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.