Linux Torvaldsによると、問題はgitk --follow
今のところとは異なり、git log --follow
--follow
主にハックであると考えられます。
元のフォローパッチを投稿したときに、この正確な問題について言及したことは間違いありません。基本的には、「--follow
」は完全なハックであり、通常のコミットフィルタリング機能を使用しないため、派手なものになります。 「--parent
」のように、実際にはうまく機能しません。
IOW、それが修正可能かどうかはまったくわかりません。「--follow
これは非常に基本的に非gittyなことであり、実際には完全なハックです。これはかなり小さなハックです。よくわからず、ソースコードを見ると、gitに非常に自然に適合していると思うかもしれません。しかし、違います。
--parent
さて、私たちも一緒に仕事をするためにハックすることは可能です--follow
が、率直に言って、私には方法がわかりません。--follow
ハックは基本的に次のように要約されるためです。
- コミットをプルーニングしないでください(これは通常、親子関係を単純化し、興味のないコミットを削除するものです)
- ""の通常のコミットのリスト全体について
git log
は、名前の変更を探す魔法の特別なハックを使用してパッチを生成します。
- 名前を変更した場合は、魔法のように追跡するパスを変更します。これにより、次に確認するコミットで、新しい(古い)パスをたどります。
- パッチが空の場合、コミットを強制的に非表示にします(内部的には、これは "
rev->always_show_header = 0;
"のことです)
ここで重要なのは、通常は親の名前変更を行うコミットのプルーニングを実行した後、キューの最後ですべての魔法を実行することです。
ごめん。たまに使っ--follow
たことがありますが、「わかりました、名前が変更されました」と表示するのはハックです。「」がきちんと機能していればいいgitk --follow <pathname>
のですが、それは私があまり気にかけていることではありません。