threads / discuss / 14101

how to rewalk the commit list after rename detection

Subject: how to rewalk the commit list after rename detection

## tl;dr

3 messages between Jun 23, 2008 and Jun 25, 2008.

replies: 2people: 3as markdown or json

Don Zickus· Jun 23, 2008, 15:38 UTC · lore

I am trying to find a way to handle a situation where I am looking for a change in a particular file, but the filename is old and has since been renamed.

Processing the commit list internally (using init_revisions, setup_revisions, get_revision), I can easily find the rename of the file, but that is usually the start of the walk for that file (as it was just deleted for the rename). I do not know how to re-walk the commits list armed with the new file name.

I tried rerunning the same commands as above (init_revisions, setup_revisions, get_revision) but that commit list is empty for some reason (I assume the UNINTERESTING flag is never un-set??).

For example, if I have a backported patch for the upstream kernel in say the arch/i386 directory. I want to check to see if it is upstream. I wouldn't be able to do that because arch/i386 was renamed to arch/x86. Unless of course the patch matches identically upstream (in which case git-cherry works fine), but that isn't always the case (usually it is a combination of a couple of patches).

Anyone have some thoughts if this is possible?

Cheers, Don

Alex Riesen· Jun 25, 2008, 19:04 UTC · re: Don Zickus · lore

Re: how to rewalk the commit list after rename detection

Don Zickus, Mon, Jun 23, 2008 17:38:14 +0200:
Show 9 quoted lines
> I am trying to find a way to handle a situation where I am looking for a
> change in a particular file, but the filename is old and has since been
> renamed.
> 
> Processing the commit list internally (using init_revisions,
> setup_revisions, get_revision), I can easily find the rename of the file,
> but that is usually the start of the walk for that file (as it was just
> deleted for the rename).  I do not know how to re-walk the commits list
> armed with the new file name.
Try looking at git log --follow <name>
Jakub Narebski· Jun 25, 2008, 20:50 UTC · re: Alex Riesen · lore

Re: how to rewalk the commit list after rename detection

Alex Riesen <raa.lkml@gmail.com> writes:
Show 13 quoted lines
> Don Zickus, Mon, Jun 23, 2008 17:38:14 +0200:
> >
> > I am trying to find a way to handle a situation where I am looking for a
> > change in a particular file, but the filename is old and has since been
> > renamed.
> > 
> > Processing the commit list internally (using init_revisions,
> > setup_revisions, get_revision), I can easily find the rename of the file,
> > but that is usually the start of the walk for that file (as it was just
> > deleted for the rename).  I do not know how to re-walk the commits list
> > armed with the new file name.
> 
> Try looking at git log --follow <name>
Unfortunately it _almost_ works, see:
  "git log --follow <filename> doesn't follow across 'subtree strategy' merge"
  Message-ID: <200806221451.50624.jnareb@gmail.com>
  http://permalink.gmane.org/gmane.comp.version-control.git/85766

("git log --follow gitweb/gitweb.perl follows rename from gitweb/gitweb.cgi, but not rename (moving) from gitweb.cgi in a merge commit).

-- 
Jakub Narebski
Poland
ShadeHawk on #git

← back to recent threads