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

Re: Detection of relocations within a file

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Aug 30, 2010, 15:44 UTC
Message-ID
<20100830154427.GB3292@burratino>
In-Reply-To
<SNT124-W57C91CBC3A362218ACA23DC4890@phx.gbl>
Hi Tim,
Tim Mazid wrote:
> I was just wondering if git can/does detect relocations of sections of code/text within a file.
> 
> For example, moving a function from the top of a file to the end.
Depends what you are trying to do.
1. I am mystified by some piece of code, and I want to know where
it originated.  Code movements is uninteresting to me (so grepping
through a patch won't do it).  The command
 $ git log -S'const char git_more_info_string[] =
	"See 'git help COMMAND' for more information on a specific command.";' \
      -- git.c
tells the originating commit pretty quickly.
2. I am mystified not by some particular piece of code but by an
entire file.  The command
 $ git gui blame -- git.c
works okay.
3. The origins of some piece of code make enough sense, but the code
changes since then are a mystery to investigate.  The command
 $ git log -L '/int main(/,/}/' git.c
with git from the "next" branch can help.
4. I want a simple, easy-to-review patch representing a code movement.
No one I know of has worked on this, and if you have ideas for it,
that would be very neat.
Previous: Tim MazidNext: Matthieu Moy
Message 2 of 3 in “Detection of relocations within a file”
  1. Tim MazidAug 30, 2010
  2. Jonathan NiederAug 30, 2010
  3. Matthieu MoyAug 30, 2010

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.