Кто-нибудь знает, как настроить Mercurial для использования p4merge как инструмент слияния/разбора в OS X 10.5?
Как использовать p4merge как инструмент merge/diff для Mercurial?
Ответ 1
Поместите это в свой ~/.hgrc
(или, необязательно, ваш Mercurial.ini
в Windows):
[merge-tools]
p4.priority = 100
p4.premerge = True # change this to False if you're don't trust hg internal merge
p4.executable = /Applications/p4merge.app/Contents/MacOS/p4merge
p4.gui = True
p4.args = $base $local $other $output
Требуется Mercurial 1.0 или новее. Очевидно, вам нужно будет обновить путь к этому исполняемому файлу, чтобы отразить, где вы установили p4merge.
Ответ 2
Я нашел ответ Ry4an, чтобы быть хорошим решением, за исключением незначительной проблемы, которая оставила p4merge (под mac os), смешивая входы команд. Сделайте все, что описано в его ответ, и добавьте следующую строку в раздел [merge-tools]:
p4.args=$base $local $other $output
В этой строке указывается меркурий, в которой порядок p4merge принимает свои аргументы.
Ответ 3
Я использую версию 1.0.1 TortoiseHg, и p4merge работает из коробки.
Просто перейдите в Глобальные настройки → TortoiseHg и выберите следующие параметры:
- Инструмент для трехстороннего слияния: p4merge
- Инструмент визуального разума: p4merge
Ответ 4
Возможно, потому, что я работаю над Windows, но предлагаемое решение не сработало для меня. Вместо этого выполняется следующее.
В вашем ~/.hgrc/
/Mercurial.ini
я применил следующие изменения:
Включено расширение ExtDiff:
[extensions]
hgext.extdiff =
Добавлена команда P4 extdiff:
[extdiff]
cmd.p4diff = p4merge
Настроил его как инструмент визуального сравнения по умолчанию:
[tortoisehg]
vdiff = p4diff
Ответ 5
Я использую следующий бит Python для запуска p4merge и использую его с git:
#!/usr/bin/python
import sys
import os
os.system('/Applications/p4merge.app/Contents/MacOS/p4merge "%s" "%s"' % (sys.argv[2], sys.argv[5]))
Я не уверен, как ртуть выглядит, чтобы запустить внешний инструмент diff? Надеюсь, это так же просто, как настройка 2 и 5 в приведенной выше строке как индекс аргументов для "проверенных" и "текущей рабочей копии".
Ответ 6
Я предполагаю, что есть инструмент CLI для p4merge (о котором я ничего не знаю).
Я написал сообщение в блоге об использовании Changes.app и некоторых других инструментах GUI с Mercurial: Использование Mercurial с инструментами GUI.
В принципе, вам нужно знать ожидаемые вызовы инструмента CLI, который загружает инструмент diff. IE, как заставить его загружать данные из определенного файла и как заставить его ждать выхода. Должно быть достаточно информации на эту должность, чтобы дать вам несколько идей.