Mercurial: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Метка: добавление ссылки
Метка: добавление ссылки
Строка 86: Строка 86:
* [http://www.jprogers.info/2009/11/git-to-hg-install-mercurial-plugin.html Установка плагина для работы с Git репозиториями]
* [http://www.jprogers.info/2009/11/git-to-hg-install-mercurial-plugin.html Установка плагина для работы с Git репозиториями]
* [http://utp.umputun.com/podcast/utp-1/ Подкаст «UTP» — переход на распределенные системы контроля версий. Часть 1], [http://utp.umputun.com/podcast/utp-2/ Часть 2]
* [http://utp.umputun.com/podcast/utp-1/ Подкаст «UTP» — переход на распределенные системы контроля версий. Часть 1], [http://utp.umputun.com/podcast/utp-2/ Часть 2]
* [http://habrahabr.ru/blogs/development_tools/108443/ Hg Init: Часть 1. Переобучение для пользователей Subversion], [http://habrahabr.ru/blogs/development_tools/108658/ Часть 2. Основы Mercurial]
* [http://habrahabr.ru/blogs/development_tools/108443/ Hg Init: Часть 1. Переобучение для пользователей Subversion], [http://habrahabr.ru/blogs/development_tools/108658/ Часть 2. Основы Mercurial], [http://habrahabr.ru/blogs/development_tools/108904/ Часть 3. Привыкаем работать в команде]


{{Системы управления версиями}}
{{Системы управления версиями}}

Версия от 03:38, 29 ноября 2010

Mercurial
Файл:Mercurial logo.png
Скриншот программы Mercurial
Тип Система управления версиями
Разработчик Matt Mackall
Написана на Python и Си
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 19 апреля 2005[1]
Последняя версия 1.6.4 (1 октября 2010)
Репозиторий repo.mercurial-scm.org/h…
Лицензия GNU GPL v2
Сайт mercurial.selenic.com
Логотип Викисклада Медиафайлы на Викискладе

Mercurial — (англ. Ртутный) кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода. Mercurial первоначально был написан для Linux, позже портирован под Windows, Mac OS X и большинство Unix-систем. В первую очередь он является консольной программой. Все его операции запускаются параметрами программы hg, название которой взято от обозначения химического знака ртути (англ. mercury).

Описание

Система Mercurial написана на Python, хотя чувствительные к производительности части (например, своя реализация diff) выполнены в качестве Python-расширений на C. Репозитории Mercurial управляются при помощи утилиты командной строки hg.

Наряду с традиционными возможностями систем контроля версий, Mercurial поддерживает полностью децентрализованную работу (отсутствует понятие основного хранилища кода), ветвление (возможно вести несколько веток одного проекта и копировать изменения между ветками), слияние репозиториев (чем и достигается «распределённость» работы). Поддерживается обмен данными между репозиториями через HTTP/HTTPS, SSH[2] и вручную при помощи упакованных наборов изменений.

Mercurial использует SHA1-хеши для идентификации ревизий и позволяет присваивать отдельным ревизиям индивидуальные метки.

Утилита hg обладает компактным интерфейсом, и Mercurial считается более простой в освоении системой, чем, например, git.[3]

Дополнительные средства

В комплекте с Mercurial поставляются CGI-сценарии для предоставления веб-интерфейса к репозиториям[2].

Есть графическая оболочка TortoiseHg[4], работающая как под Windows (с интеграцией в Explorer), так и под Linux (в виде отдельного приложения[5] или с интеграцией в Gnome/Nautilus[6]).

Ряд сред разработки имеет возможности для работы с Mercurial, например Microsoft Visual Studio[7][8], IntelliJ IDEA[9][10][11], Eclipse [12], PIDA[13], NetBeans[14]. Возможна работа с Mercurial из Emacs c помощью входящего в Emacs универсального пакета VC.

Экспериментальная поддержка Mercurial есть в системе Trac[15]. Проект Redmine[16] также поддерживает репозитории Mercurial.

При помощи утилиты Tailor[17] или расширения convert[18] поддерживается конвертирование[19] репозиториев других систем контроля версий, включая CVS, Subversion, Git, Darcs, GNU Arch, Bazaar.

Проекты, использующие Mercurial

Значительное количество проектов по разработке свободного программного обеспечения использует Mercurial в качестве основной системы контроля версий.[20] В их числе:

Кроме того, в марте 2009 года разработчики Python приняли решение о планируемом переходе на Mercurial.[24][25]

Поддерживаются Mercurial-зеркала основных репозиториев других проектов[26], например, GCC, GNU Emacs и Linux.

Примечания

См. также

Ссылки