# Detection of relocations within a file

3 messages from 2010-08-30 to 2010-08-30. Participants: Tim Mazid, Jonathan Nieder, Matthieu Moy.
Thread: https://gitlist.dev/t/24913

## Tim Mazid, 2010-08-30 15:04

Subject: Detection of relocations within a file
Message-ID: <SNT124-W57C91CBC3A362218ACA23DC4890@phx.gbl>
URL: https://gitlist.dev/e/SNT124-W57C91CBC3A362218ACA23DC4890%40phx.gbl

```

Hi git-list,

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.

If git does not currently do this, would it be a good/bad idea, and how hard would it be to implement?

Regards,
Tim.
 		 	   		  
```

## Jonathan Nieder, 2010-08-30 15:44

Subject: Re: Detection of relocations within a file
Message-ID: <20100830154427.GB3292@burratino>
URL: https://gitlist.dev/e/20100830154427.GB3292%40burratino
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.

```

## Matthieu Moy, 2010-08-30 16:24

Subject: Re: Detection of relocations within a file
Message-ID: <vpqk4n81329.fsf@bauges.imag.fr>
URL: https://gitlist.dev/e/vpqk4n81329.fsf%40bauges.imag.fr
In-Reply-To: <20100830154427.GB3292@burratino>

```
Jonathan Nieder <jrnieder@gmail.com> writes:

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

5. I have a history with a lot of code movement, someone branched from
me a while ago, modified various pieces of code which moved in the
meantime, and we want to merge.

Unfortunately, I don't think any VCS does a really good job here
either.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

```
