Mercurial: какой addremove - сходство по умолчанию рекомендуется? - PullRequest
4 голосов
/ 21 сентября 2011

Для команды Hg addremove я ищу разумное - сходство по умолчанию.

Какое значение подходит для всех типов файлов?

Какое значение подходит для какого языка программирования?

Ответы [ 3 ]

4 голосов
/ 10 октября 2011

Нет ни одного хорошего значения.Если бы это было, это уже было бы по умолчанию.Язык и типы файлов в значительной степени не имеют значения.Что имеет значение, так это размер файла относительно размера вносимых вами изменений.

Если вы просто перемещаете файлы без изменений, 100 - лучший ответ.Mercurial, вероятно, не ошибется, если предположить, что добавленные и удаленные файлы действительно были переименованы.

Если вы вносите небольшие изменения в большие файлы, перемещая их, то 90 может работать хорошо.Mercurial, вероятно, не будет одурачен, если у вас нет очень похожих файлов.

Если вы вносите большие изменения в небольшие файлы, вам может потребоваться перейти к 50, чтобы угадать ваше переименование.Но шансы Mercurial ошибиться в двух разных, но похожих файлах теперь довольно велики.

(Для сравнения, Git использует эвристику по умолчанию на 50% для различий и слияний, но так как фактически не записывает переименования в историиесть менее постоянный недостаток угадывания.)

2 голосов
/ 10 июня 2012

Обратите внимание, что ошибка 3430 и примечание к выпуску 2012-06-01 упоминаются для addremove:

addremove: сходство по умолчанию для документа -s100

Таким образом, хотя это и не "лучшее значение", -s100 (идентичные, простые перемещения без правок) официально является значением по умолчанию.

2 голосов
/ 09 февраля 2012

Вы можете найти подходящее значение для конкретной ситуации, запустив Mercurial с опцией --dry-run. Mercurial не будет выполнять никаких действий, но покажет, что он будет делать. Вы также видите сходство каждого файла, так что вы можете настроить свое значение перед выполнением реального действия.

Пример:

hg addremove --similarity 50 --dry-run
...
recording removal of ../contact_form/views.py as rename to contact_form/views.py (98% similar)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...