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

Re: git rev-list -S ?

From
Jeff King <peff@peff.net>
Date
Mar 20, 2012, 22:00 UTC
Message-ID
<20120320220032.GA29233@sigill.intra.peff.net>
In-Reply-To
<7vaa3b570l.fsf@alter.siamese.dyndns.org>
On Tue, Mar 20, 2012 at 01:53:14PM -0700, Junio C Hamano wrote:
Show 18 quoted lines
> |    $ git log -S'it drives an external
> |   an external' master Documentation/RelNotes
> 
> is a way to find commits that introduced and then removed the block of
> text to files in the named directory, starting at the tip of 'master'.
> 
> Most of the "ultimate tracking tool" dream has already been realized in
> "git blame" except one major part.  Once you find where the blame lies,
> the tool _could_ help the user to find where these blamed lines came from
> more than it currently does.  Were they typed anew?  Were similar lines
> removed by the commit from other files?  Often people run "blame" on a
> line range they are interested in, find the commits that were blamed, look
> at "git show $the_found_commit" to see if they can find similar lines in
> deleted parts of other files and then finally run blame again on the
> deleted line range of these other files starting from the parent commit of
> the found commit to do this (and this needs to be repeated).  A good GUI
> should be able to help this process quite a lot, if backed by a good logic
> to detect "similar" code blocks.

Related to this is the line-level history browser project. The idea was basically to get a log-like view (i.e., reverse chronological commits) of a chunk of code, tracing the ancestry of a particular chunk of lines.

This was done by Bo Yang as a GSoC project in 2010, but the code still hasn't been merged. As I recall, it mostly works, but there are perhaps some corner cases or ugly parts of the code still to be re-worked. Thomas Rast was cleaning it up some, and could say more on the current state.

-Peff
Previous: Junio C HamanoNext: Thomas Rast
Message 4 of 5 in “git rev-list -S ?”
  1. Holger HellmuthMar 20, 2012
  2. Christopher TiwaldMar 20, 2012
  3. Junio C HamanoMar 20, 2012
  4. Jeff KingMar 20, 2012
  5. Thomas RastMar 21, 2012

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.