tortoisemerge с Hg сообщает обо всех строках как измененных - PullRequest
3 голосов
/ 23 февраля 2011

Я бы хотел использовать TortoiseMerge с Mercurial для разрешения конфликтов, но в отчете о каждой строке в theirs и mine добавлено, как если бы он не сравнивался должным образом

, вот мой mercurial.ini:

[ui]
merge = TortoiseMerge

[merge-tools]
TortoiseMerge.executable=C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
TortoiseMerge.args=/mine:$local /theirs:$other /base:$base -o /merged:$output

Я использую Hg 1.7.5

Что происходит?

Обновление: При использовании KDiff или BeyondCompare база всегдапусто.

Спасибо

1 Ответ

1 голос
/ 05 октября 2011

Ваша настройка выглядит правильно.

Это симптом того, что в базовой ревизии нет копии файла, и в этом случае Mercurial действует так, как если бы файл присутствовал, но был пуст.

ТамЕсть пара способов выяснить, что здесь происходит.Если нет ни копий, ни переименований, вы можете просто:

$ hg log -r "ancestor(p1(), p2())"

.. определить родителя слияния, а затем:

$ hg manifest -r <rev> | grep <your file>

.., чтобыопределить, присутствовал ли файл на самом деле.

Кроме того, вы можете запустить 'hg merge --debug' или 'hg update --debug', чтобы увидеть, какой набор изменений и файл он выбирает для слияния (включая переименование /подробности копирования).

Если вы обнаружите, что файл присутствует в общем предке, выбранном Mercurial, вы должны сообщить об ошибке (включая выходные данные отладки) по адресу:

https://www.mercurial -scm.org / вики / BugTracker

...