threads / discuss / 30858

gitk --follow doesn't show changes correctly

Subject: gitk --follow doesn't show changes correctly

## tl;dr

2 messages between Jun 21, 2012 and Jun 21, 2012.

replies: 1people: 2as markdown or json

Petr Onderka· Jun 21, 2012, 12:56 UTC · lore
Hi,

if I try to see the history of a file across copies by "gitk --follow file", it seems it shows the correct revisions (although disconnected), but for revisions that modify the file under some older name, the diff of those changes is not shown.

For example, I have a file f1, modify it in revision A, then copy it to f2 and modify it in revision B, and finally modify f2 in revision C.

If I execute "gitk --follow f2", I can see revisions A, B and C. But in revision B, the diff shown contains the whole of f2 (as a new file) and the diff for revision A is completely empty.

What I'd like to see in revision B is the diff between f2 and f1 at that point and in revision A the diff for f1.

I don't think gitk can do this currently (I'm using v1.7.11.msysgit.0), so, unless I'm mistaken, consider this as a feature request (or a bug report).

Petr Onderka
Johannes Sixt· Jun 21, 2012, 13:09 UTC · re: Petr Onderka · lore

Re: gitk --follow doesn't show changes correctly

Am 6/21/2012 14:56, schrieb Petr Onderka:
> if I try to see the history of a file across copies by "gitk --follow file",
> it seems it shows the correct revisions (although disconnected),
> but for revisions that modify the file under some older name,
> the diff of those changes is not shown.

--follow is a bolted-on feature. Do not expect it to work according to your expectations ;)

Show 10 quoted lines
> For example, I have a file f1, modify it in revision A,
> then copy it to f2 and modify it in revision B,
> and finally modify f2 in revision C.
> 
> If I execute "gitk --follow f2", I can see revisions A, B and C.
> But in revision B, the diff shown contains the whole of f2 (as a new file)
> and the diff for revision A is completely empty.
> 
> What I'd like to see in revision B is the diff between f2 and f1 at that point
> and in revision A the diff for f1.

Turn off "Limit diffs to listed paths" in gitk's settings. Perhaps this shows the changes (among the changes of all other files per commit, of course).

-- Hannes

← back to recent threads