Subject: Re: GSoC draft proposal: Line-level history browser

From: Jonathan Nieder <[email-masked]>
Date: Mon, 22 Mar 2010 03:10:03 -0500

Junio C Hamano wrote:

> I am actually questioning the existence of "recursively and deeply to find
> more"; the reason blame stopped at a particular commit is exactly because
> there is no more

Hmm, I can imagine some (mutually inconsistent) heuristics:

 - Suppose in the blamed commit a single isolated line changed.  Then
   it is clear where to look next.

 - If the mystery code is at the beginning of the file (resp.
   beginning of a diff -C0 hunk), maybe it was based on the line at the
   same position within the previous commit.

 - Take the line with the lowest Levenshtein distance from the mystery
   code.

 - Expect certain common patterns of change: substituted words,
   whitespace changes, added arguments for a function, things like that.

That said, I still don’t have a clear picture of a basic strategy.

Interested,
Jonathan