threads / discuss / 16586

gitk: 'show origin of this line' barfs if gitk run in subdir

Subject: gitk: 'show origin of this line' barfs if gitk run in subdir

## tl;dr

3 messages between Dec 3, 2008 and Dec 6, 2008.

replies: 2people: 2as markdown or json

Mark Burton· Dec 3, 2008, 20:51 UTC · lore
Hi,

I was just trying out the new gitk feature that shows you the origin of a selected line in the diff pane and found that it doesn't work right if gitk is not started in the top-level work directory - i.e. if you are in a subdir it pops up an error message of this form:

Error running git blame: fatal: no such path $path in $sha1

I guess it needs something like subdir-depth number of ../ prepended to the front of the pathname to make the blame succeed.

I could try and fix this but I am sure that others who understand the sources of gitk/git-blame/git can do it much quicker than me.

Cheers,
Mark
Mark Burton· Dec 3, 2008, 22:22 UTC · re: Mark Burton · lore

Re: gitk: 'show origin of this line' barfs if gitk run in subdir

Hi,

I think the same problem exists with the 'run git gui blame on this line' feature. It doesn't work when gitk is started in a subdir of the working tree but it does work when gitk is started in the top-level directory.

Cheers,
Mark
Paul Mackerras· Dec 6, 2008, 10:56 UTC · re: Mark Burton · lore

Re: gitk: 'show origin of this line' barfs if gitk run in subdir

Mark Burton writes:
> I think the same problem exists with the 'run git gui blame on this
> line' feature. It doesn't work when gitk is started in a subdir of the
> working tree but it does work when gitk is started in the top-level
> directory.

I have checked in a fix into my gitk.git repository at git://git.kernel.org/pub/scm/gitk/gitk.git. However, there seems to be a bug in git gui blame; it gives a "list index out of range" error sometimes.

Shawn, to see an example of the error, get a current kernel tree and do:

$ cd arch/powerpc
$ git gui blame --line=1183 2c5e76158fcea6e3b9536a74efa7b5e2e846d374 \
  ../../net/sunrpc/svcsock.c
Paul.

← back to recent threads