Используя Mercurial и не сравнивать 3(bc3) в качестве инструмента сравнения?
В Windows я могу использовать Winmerge в качестве внешнего инструмента сравнения для HG, используя Mercurial.ini и т. д.
Используя некоторые параметры, вы можете найти их в Интернете (я думаю, это японский сайт). В любом случае, вот, например:
hg winmerge -r1 -r2
Перечислите изменения файла (ов) между rev1 и rev2 в winmerge. Я могу просто нажать, какой файл для сравнения
но для bc3:
hg bcomp -r1 -r2
заставит bc3 открыть диалог, в котором указано, что временный каталог не найден.
Максимум, что я могу сделать, используя bc3 и hg, это
hg bcomp -r1 -r2 myfile.cpp
который откроет diff между rev1 и rev2 файла myfile.cpp
Таким образом, кажется, что hg+bc3 не может успешно подтвердить все изменения файлов между ревизиями. Только в состоянии проверить 1 файл за один раз.
Кто-нибудь может использовать bc3 + hg лучше?
редактировать: проблема решена!
Получил решение со страницы поддержки http://www.scootersoftware.com/support.php?zz=kb_vcs.php>scooter. Я должен использовать bcompare вместо bcomp Вот фрагмент моего mercurial.ini
[расширения] hgext.win32text = ; MHD добавляет hgext.extdiff = ; MHD добавляет для до н.э. [Extdiff] cmd.bc3 = bcompare opts.bc3 = / ro ; MHD добавляет для Winmerge;[Extdiff];cmd.winmerge = WinMergeU;opts.winmerge = /r /e /x /ub
9 ответов
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
Лично я обнаружил, что лучший конфиг Beyond Compare можно найти в 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
)
Мне пришлось добавить следующее, чтобы оно работало на моей машине:
[extensions]
extdiff =
[extdiff]
cmd.bc3 = C:\Program Files\Beyond Compare 3\BCompare.exe
opts.bc3 = /ro
Если вы продолжаете получать эту ошибку "Папка недоступна" от BC (у меня это было, когда у меня одновременно было открыто несколько экземпляров BC), попробуйте добавить опцию /solo
в командной строке, то есть:
[extdiff]
cmd.bcomp = C:\Program Files\Beyond Compare 3\BCompare.exe
opts.bcomp = /leftreadonly /solo
Источник: форум поддержки Scooter Software
Оформить заказ на этой странице со страницы поддержки Scooter Software - она также содержит настройки для большинства систем контроля версий - одна для моего списка закладок!
Snippet:
Для настройки Mercurial вам нужно отредактировать файл%USERPROFILE%\Mercurial.ini или $HOME/.hgrc. Добавьте следующие строки, используя существующие разделы INI, если они уже существуют:
разность
[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>]
Трехстороннее слияние (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
Все ответы, приведенные на данный момент, относятся к Windows. Вот моя конфигурация для тех, кто использует Linux.
разность
[extensions]
extdiff =
[extdiff]
cmd.bcomp = bcompare
opts.bcomp = -ro1
4-х полосное слияние (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
в консоли.
Я попробовал предложения, данные в то время, но ни один не работал.
Я нашел следующие работы:
- Добавить вне каталога установки сравнения в вашу систему
path
- Откройте глобальные настройки и установите инструменты сравнения на
bcompare
Теперь попробуйте diff - Beyond Compare!
Если у вас возникли проблемы с правильным анализом конфигурации, обратите внимание, что любое пространство для любой переменной или имени раздела приведет к неправильному анализу конфигурации. Я продолжал копировать и вставлять различные конфигурации и продолжал получать ошибки. Это просто закончилось тем, что пробелы были добавлены перед многими переменными, и это заставило его не анализировать.
Если вы используете TortoiseHg, вы можете установить инструмент слияния на Beyond Compare, выбрав File -> Settings, а затем в TortoiseHg выберите Visual Diff Tool и Three-way Merge Tool. Этот параметр влияет на слияния, которые также устанавливаются через командную строку.