行の移動の追跡

diff/patch ってリファクタリングとかで行を入れ替えたり、コピペしたりすると追跡できなくなりますよね。それに対応するツールってないのでしょうか。

Comparison of file comparison tools - Wikipedia, the free encyclopedia を見ると一応検出用ツールはあるっぽいですね。ただ、この表幾つか誤りがあるっぽいので、ちょっと怪しいですが。

CVS とかでは、必要な機能ではないかなあと思うのですが。…と思って調べてみたところ、 git blame -M では行の移動とかちゃんと検出するっぽいですね。