web-dev-qa-db-ja.com

GIT警告:不正確な名前変更検出をスキップするファイルが多すぎます

デフォルトの名前変更制限は100であり、config "diff.renamelimit config"を使用してこの値を増やすことができることに注意してください。

心配なのは、この構成がセットアップされていない場合、間違ったマージ、不足しているコードがあるでしょうか?大きな変更がある2つのブランチをマージ(git merge)しようとしています。

この構成設定について誰かがもっと光を放つことができますか?

53
Senthil A Kumar

あなたのコンテンツは安全です。

私が理解しているように、gitには実際にはファーストクラスのrename操作の概念はありません(3つの大規模なDVCSのうち、bzrのみにあります):mvは、基本的な機械の上部にある砂糖であり、基本的にはaddrmです。ただし、gitはそのような操作中に変化するコンテンツを追跡できるため、ヒューリスティックを使用して、addrmが実際にmvである時期を推測できます。 。 gitが実際に記録したものを表示するだけでなく、かなりの作業が必要になるため、git-diffのドキュメントでは、「... O(n ^ 2)処理時間が必要です。nは名前の変更の可能性があります」/copy targets "—gitは、関与するファイルが多すぎる場合は試行しません。言及した設定は、そのしきい値を制御するだけです。

36
Hank Gay

これがだれにも役立つ場合、1つのブランチに多くのファイル(数千ではないにしても数百)がありましたが、まだ他のブランチにはありませんでした。ランニング

$ git config merge.renamelimit 15345

マージを終了するときに以下のエラーを出しました

$ git merge master
.
.
.
warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your merge.renamelimit variable to at least 15345 and retry the command.
22
M3RS