All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "jamesmikedupont\@googlemail.com"
	<jamesmikedupont@googlemail.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: Introduction and Wikipedia and Git Blame
Date: Fri, 16 Oct 2009 13:05:11 -0700	[thread overview]
Message-ID: <7vpr8nt894.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <7v7huvuptn.fsf@alter.siamese.dyndns.org> (Junio C. Hamano's message of "Fri\, 16 Oct 2009 12\:00\:20 -0700")

Junio C Hamano <gitster@pobox.com> writes:

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

  reply	other threads:[~2009-10-16 20:05 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-16  9:07 Introduction and Wikipedia and Git Blame jamesmikedupont
2009-10-16 11:26 ` Johannes Schindelin
2009-10-16 11:38   ` Martin Langhoff
2009-10-16 11:43   ` jamesmikedupont
2009-10-16 14:11     ` Johannes Schindelin
2009-10-16 14:23       ` jamesmikedupont
2009-10-16 17:04       ` Junio C Hamano
2009-10-16 18:00         ` jamesmikedupont
2009-10-16 19:00           ` Junio C Hamano
2009-10-16 20:05             ` Junio C Hamano [this message]
2009-10-16 21:19               ` jamesmikedupont
2009-10-16 23:25                 ` Junio C Hamano
2009-10-17  6:50                   ` jamesmikedupont
2009-10-17 16:42                     ` jamesmikedupont
2009-10-22  6:41                       ` jamesmikedupont

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vpr8nt894.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=jamesmikedupont@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.