Использование меркуриального и вне сравнения 3 (bc3) в качестве инструмента сравнения? нужна помощь
в windows я могу использовать winmerge в качестве внешнего инструмента diff для hg, используя mercurial.ini и т.д.
Используя некоторые опции, которые вы можете найти в Интернете (я думаю, что это японский сайт)
В любом случае, здесь
например:
hg winmerge -r1 -r2
будет перечислять изменения файла (ов) между rev1 и rev2 в winmerge. Я могу просто щелкнуть, какой файл для diff
но для bc3:
hg bcomp -r1 -r2
сделает bc3 открытым диалоговое окно, в котором указано, что временный каталог не найден.
Самое большее, что я могу сделать с помощью bc3 и hg, это
hg bcomp -r1 -r2 myfile.cpp
который откроет diff между rev1 и rev2 файла myfile.cpp
Итак, кажется, что hg + bc3 не может успешно распознать все изменения файлов между версиями.
Только возможность разделить 1 файл за раз.
Кто-нибудь может лучше использовать bc3 + hg?
edit: проблема решена!
Получено решение с http://www.scootersoftware.com/support.php?zz=kb_vcs.php > страницы поддержки wooter.
Я должен использовать bcompare вместо bcomp
Вот фрагмент моего mercurial.ini
[extensions]
hgext.win32text =
;mhd adds
hgext.extdiff =
;mhd adds for bc
[extdiff]
cmd.bc3 = bcompare
opts.bc3 = /ro
;mhd adds for winmerge
;[extdiff]
;cmd.winmerge = WinMergeU
;opts.winmerge = /r /e /x /ub
Ответы
Ответ 1
Beyond-Compare-3 - удивительный инструмент.
Я рекомендую несколько настроек настройки:
[extensions]
extdiff =
[extdiff]
cmd.bcomp = C:\Program Files\Beyond Compare 3\BCompare.exe
opts.bcomp = /leftreadonly
[merge-tools]
bcomp.executable = C:\Program Files\Beyond Compare 3\BComp
bcomp.args = /leftreadonly /centerreadonly $local $other $base $output
bcomp.priority = 1
[ui]
merge = bcomp
[tortoisehg]
authorcolor = True
vdiff = bcomp
Ответ 2
Лично я обнаружил, что лучший Beyond Compare config можно найти в файле Mercurial mergetools.rc file
:
[merge-tools]
....
; Windows version of Beyond Compare
beyondcompare3.args=$local $other $base $output /ro /lefttitle=local /centertitle=base /righttitle=other /automerge /reviewconflicts /solo
beyondcompare3.regkey=Software\Scooter Software\Beyond Compare 3
beyondcompare3.regname=ExePath
beyondcompare3.gui=True
beyondcompare3.priority=-2
beyondcompare3.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
Я также обнаружил, что важно НЕ включать Beyond Compare в extdiff
, поэтому он будет использовать beyondcompare3
из раздела merge-tools
с аргументами diffargs
. (Я beyondcompare3
указан как в ui.merge
, так и tortoisehg.vdiff
)
Ответ 3
Мне пришлось добавить следующее, чтобы оно работало на моей машине:
[extensions]
extdiff =
[extdiff]
cmd.bc3 = C:\Program Files\Beyond Compare 3\BCompare.exe
opts.bc3 = /ro
Ответ 4
Если вы продолжаете получать эту ошибку "Недоступная папка" из BC (я сделал, когда одновременно открывал несколько экземпляров BC), попробуйте добавить в командной строке параметр /solo
, то есть:
[extdiff]
cmd.bcomp = C:\Program Files\Beyond Compare 3\BCompare.exe
opts.bcomp = /leftreadonly /solo
Источник: Форум поддержки программного обеспечения Scooter
Ответ 5
Просмотрите эту страницу со страницы поддержки программного обеспечения Scooter - в нее также включены настройки для большинства систем управления версиями - один для моего списка закладок!
Отрывок:
Чтобы настроить Mercurial, вам необходимо отредактировать файл% USERPROFILE%\Mercurial.ini или $HOME/.hgrc. Добавьте следующие строки, используя существующие разделы INI, если они уже существуют:
Diff
[extensions] extdiff =
[extdiff]
cmd.bcomp = C:\Program Files\Beyond Compare 3\BCompare.exe
opts.bcomp = /ro
[tortoisehg] vdiff = bcomp
После настройки вы можете сравнить версии из командной строки, используя
hg bcomp -r <rev1> [-r <rev2>] [<filename>]
3-Way Merge (v3 Pro)
[merge-tools]
bcomp.executable = C:\Program Files\Beyond Compare 3\BComp
bcomp.args = $local $other
$base $output bcomp.priority = 1
bcomp.premerge = True bcomp.gui = True
[ui] merge = bcomp
Ответ 6
Я пробовал предложения, даваемые в то время, но никто не работал.
Я нашел следующие работы:
- Добавить вне сравнительного каталога установки в систему yor
path
- Откройте глобальные настройки и установите для инструментов diff значение
bcompare
Теперь попробуйте diff - Beyond Compare!
Ответ 7
Все ответы, которые даны до сих пор, для Windows. Вот моя конфигурация для тех, кто использует Linux.
Diff
[extensions]
extdiff =
[extdiff]
cmd.bcomp = bcompare
opts.bcomp = -ro1
4-Way Merge (v3 Pro)
[merge-tools]
bcomp.executable = bcompare
bcomp.args = -title1='First Parent' -title2='Second Parent' -title3='Common Ancestor' -title4='Output' -ro1 -ro2 -ro3 $local $other $base $output
bcomp.premerge = True
bcomp.gui = True
-ro#
: отключает редактирование с указанной стороны
-title#=<title>
: Показывает описание вместо имени файла в редактировании пути
#
символ: 1 = левый, 2 = правый, 3 = центр, 4 = выход
Для получения дополнительных опций bcompare
просто выполните bcompare -help
в консоли.
Ответ 8
Если у вас возникли проблемы с правильной обработкой вашей конфигурации, обратите внимание, что любое место для любой переменной или имени раздела приведет к неправильной настройке конфигурации. Я продолжал копировать и вставлять различные настройки и продолжал получать ошибки. Просто закончилось тем, что перед многими переменными были добавлены пробелы, и это не помогло разобрать.
Ответ 9
Если вы используете TortoiseHg, вы можете установить инструмент слияния на Beyond Compare, выбрав File → Settings, а затем выбрав TortoiseHg, выберите Visual Diff Tool и Three-way Merge Tool. Этот параметр влияет на слияния, которые также задаются в командной строке.