为什么`vc-annotate`的输出与`git-blame`的输出不同?

时间:2013-06-03 13:06:28

标签: git emacs

或者更一般地说,有人可以解释vc-annotate正在做什么吗?因为我看到单个文件中列出的多个文件发生了变化,这超出了我计算它的方式。

1 个答案:

答案 0 :(得分:5)

vc-annotate-C标记传递给git-blame(请参阅vc-git-annotate-command中的vc-git.el)。它使git尝试查找最初添加到不同文件的行,然后移动或复制到正在注释的文件中。

由于git实际上并不跟踪副本和移动,更不用说在文件之间复制的单独行,因此该算法有时会将行显示为从另一个文件复制而实际上不是。