Предупреждение GIT: слишком много файлов пропускают неточное обнаружение переименования
Я знаю, что предел переименования по умолчанию равен 100 и может увеличить это значение с помощью конфигурации " diff.renamelimit config"
Что беспокоит, если эта конфигурация не настроена, будет ли неправильное слияние, любой отсутствующий код? Я пытаюсь объединить (git merge) 2 ветви, которые имеют огромные изменения.
может ли кто-нибудь пролить больше света на эту настройку конфигурации?
2 ответов
ваш контент в безопасности.
как я понимаю, git
на самом деле не имеет никакого понятия о первоклассном rename
операция (только bzr
делает, из больших 3 DVCSs):mv
сахар поверх основного механизма, который в основном является add
и rm
. С git
может отслеживать содержимое, которое изменяется во время таких операций, хотя он может использовать эвристику, чтобы угадать, когда add
и rm
на самом деле mv
. Так как это требует гораздо больше работы чем просто показывать, что git
фактически записано-документы для git-diff
объяснить, что это "...требуется O (n^2) Время обработки, где n-количество потенциальных целей переименования/копирования" -git
не будет пытаться, когда слишком много файлов участвуют. Параметр, который вы упомянули, просто управляет этим порогом.
в случае, если это кому-то поможет, у меня было много файлов (сотни, если не тысячи) в одной ветви, которые еще не были в другой ветви. Бег!--3-->
$ git config merge.renamelimit 15345
сделал ошибку ниже при слиянии go away
$ 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.