From: Junio C Hamano Date: Mon, 20 Nov 2006 10:07:11 GMT Subject: Re: Rename detection at git log Message-ID: <7vejry5t4g.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <200611200951.05529.andyparkins@gmail.com> Andy Parkins writes: > 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.