wiki:MercurialSetupForWindows

Установка Mercurial под Windows

Запуск установщика

Идем на страницу

http://mercurial.berkwood.com/

Выбираем самую свежую версию установщика для Windows. Ссылка должна выглядеть примерно так:

http://mercurial.berkwood.com/binaries/Mercurial-0.9.4-bbdcdc7f170e.exe

Запускаем установщик. Указываем папку, куда устанавливать, так, чтобы ее имя не содержало пробелов. (Имена папок с пробелами впоследствии могут приводить к неприятностям, если мы захотим использовать какие-то программы, портированные с Юникса. Например, софтины, реализующие работу через протокол ssh.) Когда установщик предлагает включить эту папку в path - соглашаемся, поскольку нам будет нужно вызывать Mercurial (конкретно - hg.exe) из командной строки. Можно и не соглашаться, но тогда нужно будет самому подумать, как обеспечить "вызываемость" Mercurial.

Настройка имени пользователя

Предположим, что имя пользователя - pupkin. Залезаем в папку

c:\Documents and Settings\pupkin\

и создаем в этой папке файл Mercurial.ini. Помещаем в этот файл информацию, которая идентифицирует пользователя pukin. Например, его e-mail-овый адрес:

[ui] 
username = pupkin@list.ru

Тогда, каждый раз, когда pupkin будет вносить изменения в какой-то репозиторий (посредством операции commit), username будет запоминаться вместе с набором изменений.

Настройка преобразований окончаний строк

Поскольку одни пользователи могут работать с репозиторием под Юниксом, а другие - под Windows, разумно сохранять текстовые файлы в репозитории в нормализованном виде. Чтобы при запоминании версии файла в репозитории CR LF заменялись на LF, а при извлечении файла в рабочую копию выполнялось бы обратное преобразование.

Для этого находим файл Mercurial.ini в папке, в которую был установлен Mercurial, и раскомментируем строчки

; ** = cleverencode:

и

; ** = cleverdecode:

убравши ;. После этого соответствующие части файла будут выглядеть так:

[encode]
; Encode files that don't contain NUL characters.

** = cleverencode:

[decode]
; Decode files that don't contain NUL characters.

** = cleverdecode:

Это означает, что преобразованию будут подвергаться файлы, не содержащие нулевых байтов. Если файл содержит нулевые байты, он считается "бинарным" и не преобразуется. (На самом-то деле проверяется только первый килобайт файла...)

При желании, впрочем, возможна и более тонкая настройка. Например, можно явно указать расширения файлов, которые должны считаться "текстовыми".

Настройка программы для слияния файлов

Для выполнения слияния разных версий файлов нужно подключить к Mercurial какую-нибудь программу слияния:

http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram

Всем требованиям удовлетворяет, например, kdiff3:

http://kdiff3.sourceforge.net/

В папке, в которой находится hg.exe файл hgmerge.cmd. Находим на странице

http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram

сценарий, соответствующий kdiff3 (или другой выбранной программе) и через clipboard переносим его в hgmerge.cmd.

Начало работы

Создаем первый репозиторий. Для этого создаем, например, папку xxx, делаем её текущей и выполняем команду

hg init

Список команд можно посмотреть выполнив

hg help

Проблемы с прокси-серверами

Если предполагается выполнять обмен информации между репозиториями по протоколу https, то могут возникнуть проблемы с аутентификацией, если браузер Internet Explorer настроен на работу через прокси-сервер. (Например, через Proxomitron.) Это получается из-за того, что hg.exe, судя по всему, использует некоторые настройки из настроек IE. В этом случае, нужно попробовать отключить работу через прокси-сервер в IE.

Last modified 13 years ago Last modified on Sep 6, 2007, 5:32:51 PM