Use
git log -p --follow arch/x86/kernel/io_apic_64.c
where the "--follow" tells git to follow renames.
And, of course, "git blame -C" will follow renames and copying of code
across file boundaries too.
NOTE! In both cases you may actually have to tell git to not limit its
rename detection when it sees lots of files. You can do that
once-and-for-all with
git config --global diff.renamelimit 0
which should take care of it (although it seems that due to unlucky
timing, the current stable git release does not honor the renamelimit for
merging, so if you actually need to have git merge data across a rename,
you should use the current "master" branch of git. Junio is sadly away
for two weeks right now)
No idea on cscope..
Linus
-