lkml.org 
[lkml]   [2007]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: git/cscope with x86 merge


On Sat, 20 Oct 2007, Sam Ravnborg wrote:
>
> But you do not see the rename arch/x86_64/kernel/{vmlinux.lds.S => vmlinux.lds.S}

Umm. What you are describing isn't a rename - that's the same name. Do you
perhaps mean vmlinux.lds.S => vmlinux_64.lds.S ?

And yes, it doesn't show that as a rename, because of the fact that the

arch/x86_64/kernel/vmlinux.lds.S

file actually *remained*, so it wasn't really a rename. It just got almost
all of its data changed.

So there was never really a rename: there was a "copy" and a "rewrite".
And "git --follow" doesn't follow copies.

However, "git blame" does do so. So if you do

git blame -C arch/x86/kernel/vmlinux_64.lds.S

(where that -C tells it to follow data across file copies), it will
actually show the history down, line for line!

But when you try to follow the history of the whole *file*, git sees that
the filename still existed of the source, so it won't consider that a
candidate for renames!

I could perhaps look at making "git log --follow" also break up files that
got totally rewritten (git already has a notion of "-B" to do that), but
no, we don't do it right now. (But one of the advantages of the git model
is that none of this is hardcoded in the repository data itself, so we can
improve the rename following and it will automatically work with any repo,
even one created with older git versions)

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-10-20 20:23    [W:0.084 / U:24.700 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site