Or perhaps more generally, can someone explain what vc-annotate is doing? Because I see changes frome multiple files listed in a single file, which is beyond me as to how it's being calculated.
1 Answer
vc-annotate passes the -C flag to git-blame (see vc-git-annotate-command in vc-git.el). It makes git try to look for lines that were originally added to a different file, and then moved or copied to the file being annotated.
Since git doesn't actually track copies and moves, much less individual lines copied between files, this algorithm can sometimes show lines as copied from another file when they were in fact not.