Система управления версиями Mercurial |
Добавил(а) microsin |
В статье описан процесс быстрого старта для работы системой хранения версиями 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 После выполнения команды в локальной папке (откуда запускалась команда) появится папка lightpack со всеми опубликованными документами и исходниками проекта lightpack. [Основные методы работы с репозиториями Mercurial] Предполагается, что система TortoiseHG у Вас уже установлена. Как создать новый репозиторий для проекта с помощью командной строки. 1. Переходим в каталог проекта. Как создать новый репозиторий для проекта с помощью проводника Windows. 1. Щелкаем правой кнопкой на папке проекта, для которой хотим создать репозиторий, выбираем в контекстном меню TortoiseHg -> Create Repository Here, в появившемся окошке жмем кнопку Создать. После создания репозитория в папке проекта появится отдельная папка с базой данных репозитория .hg, а также Как создать точку фиксации (Commit) с помощью командной строки. Точкой фиксации (Commit) - называется запоминание в репозитории каких-либо изменений в исходниках. Обычно это делается после того, как исправлен очередной баг, или в конце рабочего дня. hg commit Чтобы зафиксировать только отдельные файлы, нужно их указывать отдельно, например hg commit файл1 файл2 ... Как создать точку фиксации (Commit) с помощью проводника Windows. 1. Щелкаем правой кнопкой на папке проекта, для которой хотим создать репозиторий, выбираем в контекстном меню TortoiseHg -> Hg Commit... [Списки игнорируемых файлов] Зачастую в каталогах проекта могут появляться какие-то файлы, которые нежелательно отдавать на попечение системы контроля версий. Например, к таким файлам могут относиться различные временные файлы, создаваемые текстовым редактором или компилятором. Такие файлы можно просто не включать в репозиторий, но при каждом выполнении команды hg status будет выводиться их список с пометкой "?". Чтобы избежать такого поведения, существует специальный список исключений - файлов, которые должны игнорироваться mercurial, хотя и могут находиться в каталоге рабочей копии. Такой файл носит имя .hgignore и должен располагаться в корневом каталоге репозитория (папки проекта). Формат файла следующий: # comments syntax: glob *.o *.lst *.bak *.tmp Строки, начинающиеся со знака "#", являются комментариями. Строка, начинающаяся со слова "syntax:", означает указание на используемый далее в тексте тип описаний. Может принимать два различных значения: glob - в этом случае файлы для исключения описываются масками по аналогии с используемыми в операционных системах (символ '*' означает любое количество любых символов, символ '?' означает строго один любой символ); regexp - в этом случае для описаний используются регулярные выражения (формат которых аналогичен используемым в Perl). Общепринятой практикой является создание файла .hgignore сразу же после создания репозитория и включение этого файла в самый первый набор изменений ("коммит"). Если неправильно задана установка syntax, то это может быть причиной появления ошибок типа ".hgignore: invalid pattern (relre)" в ответ на паттерны игнорирования, содержащие звездочку. Для таких паттернов обязательно используйте syntax: glob. Для того, чтобы исключить добавление всей папки целиком, нужно указать только её имя. При этом будут исключены из добавления в репозиторий всё, что находится в этой папке - все файлы этой папки и все находящиеся в ней поддиректории. Примеры строк файла .hgignore с исключениями: # В репозиторий не будет включена папка doc со всеми # её файлами и подкаталогами. doc 1. Под Windows кириллица в комментариях к Commit поддерживается не очень хорошо. Например, если в GUI Вы зададите комментарий по-русски, то в консоли этот комментарий увидите кракозябрами. В новых версиях этот баг исправлен, однако лучше писать комментарии к коммиту на английском. 2. Для новичков, не боящихся английского, лучше переключить GUI-интерфейс на английскую версию - чтобы не путаться с терминологией в документации. 3. После первой установки TortoiseHG необходимый минимум настроек, которые нужно сделать, это указать имя пользователя, под которым будут создаваться и обновляться репозитории по умолчанию. [Словарик] Commit, точка фиксации запоминание в базе данных репозитория текущего состояния проекта. SCM Software Configuration Management (управление конфигурациями программ). репозиторий база данных, привязанная к каталогу проекта. Эта база данных отражает текущее состояние исходников проекта. [Ссылки] 1. TortoiseHG site:tortoisehg.bitbucket.org. |