Changes between Initial Version and Version 1 of MercurialExtTortoiseMerge


Ignore:
Timestamp:
Sep 17, 2007, 11:26:04 PM (13 years ago)
Author:
roman
Comment:

Новая страница

Legend:

Unmodified
Added
Removed
Modified
  • MercurialExtTortoiseMerge

    v1 v1  
     1= Подключение программы !TortoiseMerge (с целью сравнения файлов) (под Windows) =
     2
     3Для того, чтобы `hg` мог вызывать !TortoiseMerge, в папке, в которой находится hg.exe, создаем файл `tdiff.cmd` и помещаем в него сценарий
     4{{{
     5@echo off
     6setlocal
     7:: Look in the registry for TortoiseMerge location
     8for /f "skip=2 tokens=2*" %%A in (
     9    '"reg query "HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseSVN" /v TMergePath 2> nul"' ) do set TMergePath=%%B
     10if "%TMergePath%"=="" (goto :notfound) else (goto :tortoisemerge)
     11
     12:tortoisemerge
     13"%TMergePath%" /base:%1 /mine:%2
     14if not errorlevel 0 (exit /b 1) else (exit /b 0)
     15
     16:notfound
     17echo hgmerge: cannot find TortoiseMerge location in the registry.
     18exit /b 1
     19}}}
     20
     21Дальше нужно решить, выполнять настройку для всех пользователей, или только для текущего пользователя. Если настраиваем для всех пользователей, нужно отредактировать файл `Mercurial.ini` в папке, в которую установлен Mercurial. Если хотим сделать настройку только для пользователя pupkin, редактируем файл
     22{{{
     23c:\Documents and Settings\pupkin\Mercurial.ini
     24}}}
     25
     26При этом мы добавляем к hg новые команды через механизм ''расширений'':
     27
     28  http://www.selenic.com/mercurial/wiki/index.cgi/UsingExtensions
     29
     30Добавляем в файл Mercurial.ini следующее:
     31{{{
     32[extensions]
     33hgext.extdiff =
     34
     35[extdiff]
     36cmd.tdiff = tdiff
     37}}}
     38
     39Это означает, что мы, во-первых, подключаем к Mercurial ''расширение'' extdiff
     40
     41  http://www.selenic.com/mercurial/wiki/index.cgi/ExtdiffExtension
     42
     43в результате чего hg начинает понимать новую команду extdiff. Можно посмотреть ее описание, выполнив
     44{{{
     45hg extdiff -h
     46}}}
     47
     48Во-вторых, мы определяем для hg команду extdiff, которая эквивалентна
     49{{{
     50hg extdiff -p tdiff
     51}}}
     52
     53После этого мы можем сравнить рабочую копию с последней ревизией в репозитории командой
     54{{{
     55hg tdiff
     56}}}
     57или сравнить ревизию 3 с ревизией 7 с помощью команды
     58{{{
     59hg tdiff -r 3 -r 7
     60}}}