Функция сходства копирования TortoiseHg

При фиксации изменений в Mercurial он может автоматически определять перемещение/копирование/переименование с помощью команды

hg addremove -подобие 100

Число после схожести указывает, насколько похожими должны быть два файла в диапазоне от 0 до 100%, чтобы Mercurial решил, что это перемещение, копирование или переименование, а не просто новый файл.

Это отличная функция. Может ли TortoiseHg сделать это?


person Michael La Voie    schedule 18.08.2009    source источник


Ответы (3)


Да, оно может. Если вы посмотрите руководство TortoiseHg, вы найдете раздел 4.12. под названием «Угадай переименовать». Цитировать:

  1. Выберите один или несколько непроверенных файлов.
  2. Переместите полосу сходства (Минимальный процент сходства) на желаемое процентное соответствие.
  3. Нажмите либо Найти переименования, либо Найти копии.
  4. Выберите совпадения-кандидаты и примите хорошие совпадения
  5. Повторяйте, пока все неверсированные файлы не будут сопоставлены

Приятным моментом является шаг 5: вы можете переключать сходство по мере продвижения, и Tortoise меняет файлы, которые считаются переименованными, на лету. Вы можете получить большую часть того, что хотите, осторожно сдвинув шкалу до нужного процента и перепроверив.

person quark    schedule 18.08.2009
comment
Большое спасибо!!! Я нигде не мог найти это (кто бы подумал проверить руководство...) Вы случайно не знаете, есть ли способ заставить это происходить автоматически? - person Michael La Voie; 19.08.2009
comment
Что касается вашего другого вопроса: я не знаю, может ли это произойти автоматически. Но Tortoise в значительной степени WYSIWYG: если для него есть опция, она обычно очевидна. (Таким образом, руководство — это второе место для поиска. Пользовательский интерфейс — первое. :) - person quark; 19.08.2009
comment
Чтобы обновить: Поиск копий больше не существует, но в меню «Найти переименования» вы можете снять флажок, чтобы включить элементы, которые не удаляются, и это будет иметь тот же эффект. - person StriplingWarrior; 15.09.2012

установка значения по умолчанию «-s 100» для addremove — отличная идея; но hgrc.5 говорит, что [значения по умолчанию] устарели, поэтому я используя это:

[alias]
addremove = addremove --similarity 100
adrs = addremove --similarity 0.01

Последнее очень полезно для отслеживания двоичных данных (таких как файлы САПР или чертежи), которые не сжаты и четко сегментированы/многоуровневы.

person d.Candela    schedule 01.06.2010

У меня есть файл глобальных настроек (mercurial.ini), настроенный с помощью:

[defaults]
addremove = --similarity 100

Если вы спросите меня, это должно быть включено по умолчанию.

person Nick Cox    schedule 22.02.2010
comment
Это отличная идея, я не вижу причин не устанавливать это по умолчанию. - person Michael La Voie; 22.02.2010
comment
+1 за отличную идею, но я этого не сделал, потому что на самом деле это не отвечает на заданный вопрос. - person Remi Despres-Smyth; 27.03.2011