threads / discuss / 21763

What should a user expect from git log -M -- file

Subject: What should a user expect from git log -M -- file

## tl;dr

3 messages between Nov 26, 2009 and Nov 27, 2009.

replies: 2people: 2as markdown or json

Mike Hommey· Nov 26, 2009, 16:36 UTC · lore
Hi,

I recently reorganized a project of mine, and the result is that a lot of files moved from the top directory to a sub directory.

Now, I innocently tried to 'git log -M' some of these files in the subdirectories, and well, the history just stops when the file was created. Obviously, if I put both the old and the new location it works, but shouldn't users expect 'git log -M -- file' to try to find the previous path and continue from there ?

Mike
Jakub Narebski· Nov 26, 2009, 17:14 UTC · re: Mike Hommey · lore

Re: What should a user expect from git log -M -- file

Mike Hommey <mh@glandium.org> writes:
Show 8 quoted lines
> I recently reorganized a project of mine, and the result is that a lot of
> files moved from the top directory to a sub directory.
> 
> Now, I innocently tried to 'git log -M' some of these files in the
> subdirectories, and well, the history just stops when the file was
> created. Obviously, if I put both the old and the new location it works,
> but shouldn't users expect 'git log -M -- file' to try to find the
> previous path and continue from there ?
What you want is not
  git log -M -- file
but
  git log --follow file

"git log -M -- file" IIRC first applies path limiting, simplifying history, *then* does rename detection, and finally filters output (unless --full-diff is used).

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Mike Hommey· Nov 27, 2009, 07:28 UTC · re: Jakub Narebski · lore

Re: What should a user expect from git log -M -- file

On Thu, Nov 26, 2009 at 09:14:37AM -0800, Jakub Narebski wrote:
Show 22 quoted lines
> Mike Hommey <mh@glandium.org> writes:
> 
> > I recently reorganized a project of mine, and the result is that a lot of
> > files moved from the top directory to a sub directory.
> > 
> > Now, I innocently tried to 'git log -M' some of these files in the
> > subdirectories, and well, the history just stops when the file was
> > created. Obviously, if I put both the old and the new location it works,
> > but shouldn't users expect 'git log -M -- file' to try to find the
> > previous path and continue from there ?
> 
> What you want is not
> 
>   git log -M -- file
> 
> but
> 
>   git log --follow file
> 
> "git log -M -- file" IIRC first applies path limiting, simplifying
> history, *then* does rename detection, and finally filters output
> (unless --full-diff is used).

That's what I was looking for, thanks. I would suggest to put --follow closer to -M and -C in the documentation, but the way the git-log manual is generated (including diff options) makes that impossible :(

Mike

← back to recent threads