次のようなことを言うことができると便利な場合があります。
(git|svn|hg|etc) diff Foo.c:main
(git|svn|hg|etc) log log Foo.c:main
最後のコミット以降にソースファイル内の特定の関数に加えられた変更、または変更の完全な履歴を確認します。私の質問は2つあります。
- これを行う何かがありますか?
- そのようなツールは実用的でしょうか?関数の異なるバージョンを比較するには、各リビジョンでコードの簡単な解析を行う必要があります。オーバーヘッドが大きすぎて効率的ではないでしょうか?