Re: Rename detection at git log
- From
Junio C Hamano <junkio@cox.net>
- Date
- Nov 20, 2006, 10:07 UTC
- Message-ID
- <7vejry5t4g.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <200611200951.05529.andyparkins@gmail.com>
Andy Parkins <andyparkins@gmail.com> writes:
Show 6 quoted lines
> On Monday 2006 November 20 05:57, Alexander Litvinov wrote: > >> > PAGER=cat git log -M -C --pretty=oneline b/a > > I've come across this too. Personally I'm not sure what use "-C" is. From > the manpage, man git-diff-files (no, this isn't the place I'd look either).
The real issue here is because the b/a on the command line applies on the input-side, and does not act as the output filter. This comes from _very_ early design decision and if you dig the list archive you will see Linus and I arguing about diffcore-pathspec (which later died off).
What it means is that "git log" will look at path that matches b/a (that means b/a/c and b/a/d are looked at, if b/a were a directory). Since path "a" which is what the file was originally at is not something the pattern b/a matches, there is no way b/a is noticed as a rename from a.
I've been meaning to resurrect Fredrik's --single-follow=path patch but haven't had time to recently, with all the other interesting discussion happening on the list.