gitはファイル名の変更を追跡しない。検出してるだけ。
だから遅いし、変更とファイル名の変更を同時に実行すると検出に失敗する。
hgはファイル名の変更をメタデータとして残すので、やはりannotateとかするのが遅いけど、
コピーにも同じ方式で対応できる。
bzrはファイルにIDを振っているので、annotateとかは速いし、ファイル名変更後に行った修正だけを
cherrypickとかできるけど、copyはまだ実装されていない。