| В статье описан процесс быстрого старта для работы системой хранения версиями Mercurial. Система хранения проектов в репозитории Google поддерживает стандарт Mercurial (система управления версиями). Для закачки исходников из их репозитория под Windows можно применить клиент TortoiseHG. [Установка TortoiseHG под Windows] 1. Скачиваем TortoiseHG (см. Ссылки [1], я скачал tortoisehg-1.1.9.1-hg-1.7.5-x86.msi, 22.7 мегабайта), устанавливаем. После установки в браузере Explorer появляется контекстное меню TortoiseHG, на диске появляется папка c:\Program Files\TortoiseHg\ с утилитами и документацией, а также теперь прямо из командной строки можно вызывать команду hg. 2. Чтобы сделать локальный клон проекта из репозитория Google Code, нужно знать его URL. Например, чтобы сделать клон проекта lightpack, у которого URL https://lightpack.googlecode.com/hg/, нужно выполнить простую команду: hg clone https://lightpack.googlecode.com/hg/ lightpack
 requesting all changes
 adding changesets
 adding manifests
 adding file changes
 added 275 changesets with 1248 changes to 471 files (+1 heads)
 updating to branch default
 260 files updated, 0 files merged, 0 files removed, 0 files unresolved
 После выполнения команды в локальной папке (откуда запускалась команда) появится папка lightpack со всеми опубликованными документами и исходниками проекта lightpack. [Основные методы работы с репозиториями Mercurial] Предполагается, что система TortoiseHG у Вас уже установлена. Как создать новый репозиторий для проекта с помощью командной строки. 1. Переходим в каталог проекта.2. hg init
 3. hg add
 4. hg commit -q -m initial
 Как создать новый репозиторий для проекта с помощью проводника Windows. 1. Щелкаем правой кнопкой на папке проекта, для которой хотим создать репозиторий, выбираем в контекстном меню TortoiseHg -> Create Repository Here, в появившемся окошке жмем кнопку Создать.2. Щелкаем правой кнопкой на папке проекта, для которой хотим создать репозиторий, выбираем в контекстном меню Hg Commit..., запускается браузер кода (Фиксация/Commit).
 3. Ставим галочку слева вверху, чтобы пометились все файлы кода.
 4. Добавляем комментарий к репозиторию, например комментарий "This is my first repository...". Комментарий лучше добавлять на английском языке.
 5. Жмем кнопку Фиксация (Commit), на запрос подтверждения (Добавить/Удалить указанные файлы) жмем "Да".
 После создания репозитория в папке проекта появится отдельная папка с базой данных репозитория .hg, а также Как создать точку фиксации (Commit) с помощью командной строки. Точкой фиксации (Commit) - называется запоминание в репозитории каких-либо изменений в исходниках. Обычно это делается после того, как исправлен очередной баг, или в конце рабочего дня. hg commithg commit -m 'мое первое изменение'
 Чтобы зафиксировать только отдельные файлы, нужно их указывать отдельно, например hg commit файл1 файл2 ... Как создать точку фиксации (Commit) с помощью проводника Windows. 1. Щелкаем правой кнопкой на папке проекта, для которой хотим создать репозиторий, выбираем в контекстном меню TortoiseHg -> Hg Commit...2. Откроется окно браузера репозитория Commit. В левой части окна будут помечены галочками файлы, которые будут участвовать в фиксации. лучше убрать галочки с временных файлов, с файлов листинга и с объектных файлов.
 3. Указываем комментарий к фиксации. Комментарий лучше добавлять на английском языке.
 4. Жмем кнопку Фиксация (Commit).
 [Списки игнорируемых файлов] Зачастую в каталогах проекта могут появляться какие-то файлы, которые нежелательно отдавать на попечение системы контроля версий. Например, к таким файлам могут относиться различные временные файлы, создаваемые текстовым редактором или компилятором. Такие файлы можно просто не включать в репозиторий, но при каждом выполнении команды hg status будет выводиться их список с пометкой "?". Чтобы избежать такого поведения, существует специальный список исключений - файлов, которые должны игнорироваться mercurial, хотя и могут находиться в каталоге рабочей копии. Такой файл носит имя .hgignore и должен располагаться в корневом каталоге репозитория (папки проекта). Формат файла следующий: 
# comments
syntax: glob
*.o
*.lst
*.bak
*.tmpsyntax: regexp
\.bak$
\.tmp$
 Строки, начинающиеся со знака "#", являются комментариями. Строка, начинающаяся со слова "syntax:", означает указание на используемый далее в тексте тип описаний. Может принимать два различных значения: glob - в этом случае файлы для исключения описываются масками по аналогии с используемыми в операционных системах (символ '*' означает любое количество любых символов, символ '?' означает строго один любой символ); regexp - в этом случае для описаний используются регулярные выражения (формат которых аналогичен используемым в Perl). Общепринятой практикой является создание файла .hgignore сразу же после создания репозитория и включение этого файла в самый первый набор изменений ("коммит"). Если неправильно задана установка syntax, то это может быть причиной появления ошибок типа ".hgignore: invalid pattern (relre)" в ответ на паттерны игнорирования, содержащие звездочку. Для таких паттернов обязательно используйте syntax: glob. Для того, чтобы исключить добавление всей папки целиком, нужно указать только её имя. При этом будут исключены из добавления в репозиторий всё, что находится в этой папке - все файлы этой папки и все находящиеся в ней поддиректории. Примеры строк файла .hgignore с исключениями: 
# В репозиторий не будет включена папка doc со всеми 
#  её файлами и подкаталогами.
doc# Не будут добавлены все файлы с расширением *.bak, которые
#  находятся в корневом каталоге репозитория. При этом все файлы
#  *.bak, находящиеся в подкаталогах, все равно будут добавлены.
*.bak
 # Не будут добавлены в репозиторий все файлы в каталогах
#  Debug/List и Debug/Obj. Если в подкаталогах List и Obj есть
#  еще подкаталоги с файлами, то они будут добавлены.
Debug/List/*.* Debug/Obj/*.*
 1. Под Windows кириллица в комментариях к Commit поддерживается не очень хорошо. Например, если в GUI Вы зададите комментарий по-русски, то в консоли этот комментарий увидите кракозябрами. В новых версиях этот баг исправлен, однако лучше писать комментарии к коммиту на английском. 2. Для новичков, не боящихся английского, лучше переключить GUI-интерфейс на английскую версию - чтобы не путаться с терминологией в документации. 3. После первой установки TortoiseHG необходимый минимум настроек, которые нужно сделать, это указать имя пользователя, под которым будут создаваться и обновляться репозитории по умолчанию. [Словарик] Commit, точка фиксации запоминание в базе данных репозитория текущего состояния проекта. SCM Software Configuration Management (управление конфигурациями программ). репозиторий база данных, привязанная к каталогу проекта. Эта база данных отражает текущее состояние исходников проекта. [Ссылки] 1. TortoiseHG site:tortoisehg.bitbucket.org.2. Mercurial Downloads site:mercurial.selenic.com - другие клиенты для репозитория Mercurial.
 3. Что такое Mercurial site:ru.wikipedia.org.
 4. Как скачать исходники с Google Code (code.google.com).
 5. Mercurial FAQ site:mercurial.selenic.com (часто задаваемые вопросы).
 |