Changes between Initial Version and Version 1 of MercurialSetupForWindows


Ignore:
Timestamp:
Sep 6, 2007, 5:32:51 PM (13 years ago)
Author:
roman
Comment:

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

Legend:

Unmodified
Added
Removed
Modified
  • MercurialSetupForWindows

    v1 v1  
     1= Установка Mercurial под Windows =
     2
     3== Запуск установщика ==
     4
     5Идем на страницу
     6
     7  http://mercurial.berkwood.com/
     8
     9Выбираем самую свежую версию установщика для Windows. Ссылка должна выглядеть примерно так:
     10
     11  http://mercurial.berkwood.com/binaries/Mercurial-0.9.4-bbdcdc7f170e.exe
     12
     13Запускаем установщик. Указываем папку, куда устанавливать, так, чтобы ее имя не содержало пробелов. (Имена папок с пробелами впоследствии могут приводить к неприятностям, если мы захотим использовать какие-то программы, портированные с Юникса. Например, софтины, реализующие работу через протокол ssh.) Когда установщик предлагает включить эту папку в path - соглашаемся, поскольку нам будет нужно вызывать Mercurial (конкретно - hg.exe) из командной строки. Можно и не соглашаться, но тогда нужно будет самому подумать, как обеспечить "вызываемость" Mercurial.
     14
     15== Настройка имени пользователя ==
     16
     17Предположим, что имя пользователя - `pupkin`. Залезаем в папку
     18{{{
     19c:\Documents and Settings\pupkin\
     20}}}
     21и создаем в этой папке файл `Mercurial.ini`. Помещаем в этот файл информацию, которая идентифицирует пользователя `pukin`. Например, его e-mail-овый адрес:
     22{{{
     23[ui]
     24username = pupkin@list.ru
     25}}}
     26Тогда, каждый раз, когда `pupkin` будет вносить изменения в какой-то репозиторий (посредством операции `commit`), `username` будет запоминаться вместе с набором изменений.
     27
     28== Настройка преобразований окончаний строк ==
     29
     30Поскольку одни пользователи могут работать с репозиторием под Юниксом, а другие - под Windows, разумно сохранять текстовые файлы в репозитории в нормализованном виде. Чтобы при запоминании версии файла в репозитории CR LF заменялись на LF, а при извлечении файла в рабочую копию выполнялось бы обратное преобразование.
     31
     32Для этого находим файл `Mercurial.ini` в папке, в которую был установлен Mercurial, и раскомментируем строчки
     33{{{
     34; ** = cleverencode:
     35}}}
     36и
     37{{{
     38; ** = cleverdecode:
     39}}}
     40убравши `;`. После этого соответствующие части файла будут выглядеть так:
     41{{{
     42[encode]
     43; Encode files that don't contain NUL characters.
     44
     45** = cleverencode:
     46
     47[decode]
     48; Decode files that don't contain NUL characters.
     49
     50** = cleverdecode:
     51}}}
     52
     53Это означает, что преобразованию будут подвергаться файлы, не содержащие нулевых байтов. Если файл содержит нулевые байты, он считается "бинарным" и не преобразуется. (На самом-то деле проверяется только первый килобайт файла...)
     54
     55При желании, впрочем, возможна и более тонкая настройка. Например, можно явно указать расширения файлов, которые должны считаться "текстовыми".
     56
     57== Настройка программы для слияния файлов ==
     58
     59Для выполнения слияния разных версий файлов нужно подключить к Mercurial какую-нибудь программу слияния:
     60
     61  http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram
     62
     63Всем требованиям удовлетворяет, например, kdiff3:
     64
     65  http://kdiff3.sourceforge.net/
     66
     67В папке, в которой находится `hg.exe` файл `hgmerge.cmd`. Находим на странице
     68
     69  http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram
     70
     71сценарий, соответствующий `kdiff3` (или другой выбранной программе) и через clipboard переносим его в `hgmerge.cmd`.
     72
     73== Начало работы ==
     74
     75Создаем первый репозиторий. Для этого создаем, например, папку `xxx`, делаем её текущей и выполняем команду
     76{{{
     77hg init
     78}}}
     79
     80Список команд можно посмотреть выполнив
     81{{{
     82hg help
     83}}}
     84
     85== Проблемы с прокси-серверами ==
     86
     87Если предполагается выполнять обмен информации между репозиториями по протоколу https, то могут возникнуть проблемы с аутентификацией, если браузер Internet Explorer настроен на работу через прокси-сервер. (Например, через Proxomitron.) Это получается из-за того, что hg.exe, судя по всему, использует некоторые настройки из настроек IE. В этом случае, нужно попробовать отключить работу через прокси-сервер в IE.