Mercurial
| Mercurial | |
![]() |
|
| Тип | |
|---|---|
| Разработчик |
Matt Mackall |
| Написана на | |
| Операционная система | |
| Последняя версия | |
| Лицензия |
GNU GPL v2 |
| Сайт | |
Mercurial — (англ. Ртутный) кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода. Mercurial первоначально был написан для Linux, позже портирован под Windows, Mac OS X и большинство Unix-систем. В первую очередь он является консольной программой. Все его операции запускаются параметрами программы hg, название которой взято от обозначения химического знака ртути (англ. mercury).
Содержание |
[править] Описание
Система Mercurial написана на Python, хотя чувствительные к производительности части (например, своя реализация diff) выполнены в качестве Python-расширений на C. Репозитории Mercurial управляются при помощи утилиты командной строки hg.
Наряду с традиционными возможностями систем контроля версий, Mercurial поддерживает полностью децентрализованную работу (отсутствует понятие основного хранилища кода), ветвление (возможно вести несколько веток одного проекта и копировать изменения между ветками), слияние репозиториев (чем и достигается «распределённость» работы). Поддерживается обмен данными между репозиториями через HTTP/HTTPS, SSH[1] и вручную при помощи упакованных наборов изменений.
Mercurial использует SHA1-хеши для идентификации ревизий и позволяет присваивать отдельным ревизиям индивидуальные метки.
Утилита hg обладает компактным интерфейсом, и Mercurial считается более простой в освоении системой, чем, например, git.[2]
[править] Дополнительные средства
В комплекте с Mercurial поставляются CGI-сценарии для предоставления веб-интерфейса к репозиториям[1].
Есть графическая оболочка TortoiseHg[3], работающая как под Windows (с интеграцией в Explorer), так и под Linux (в виде отдельного приложения[4] или с интеграцией в Gnome/Nautilus[5]).
Ряд сред разработки имеет возможности для работы с Mercurial, например Microsoft Visual Studio[6][7], IntelliJ IDEA[8][9][10], Eclipse [11], Qt Creator (начиная с версии 2.0) [12], PIDA[13], NetBeans[14]. Возможна работа с Mercurial из Emacs c помощью входящего в Emacs универсального пакета VC.
Экспериментальная поддержка Mercurial есть в системе Trac[15]. Проект Redmine[16] также поддерживает репозитории Mercurial.
При помощи утилиты Tailor[17] или расширения convert[18] поддерживается конвертирование[19] репозиториев других систем контроля версий, включая CVS, Subversion, Git, Perforce, Darcs, GNU Arch, Bazaar.
[править] Проекты, использующие Mercurial
Значительное количество проектов по разработке свободного программного обеспечения использует Mercurial в качестве основной системы контроля версий.[20] В их числе:
Поддерживаются Mercurial-зеркала основных репозиториев других проектов[25], например, GCC, GNU Emacs и Linux.
[править] Примечания
- ↑ 1 2 Настройка сервера для работы с Mercurial (рус.)
- ↑ Сравнение Git и Mercurial в FAQ сайта Google Code (англ.)
- ↑ TortoiseHg — Mercurial
- ↑ SourceForge.net: TortoiseHg — Develop
- ↑ SourceForge.net: TortoiseHg — Develop
- ↑ VisualHG — плагин-провайдер для Microsoft Visual Studio 2008/2010
- ↑ HgSccPackage — Mercurial-плагин для Microsoft Visual Studio 2008/2010
- ↑ Mercurial Integration for IDEA
- ↑ hg4idea
- ↑ JetBrains IntelliJ IDEA Plugin Repository
- ↑ Mercurial Eclipse
- ↑ Qt Creator: Using version control systems
- ↑ Появление поддержки Mercurial в PIDA
- ↑ Mercurial-плагин для NetBeans
- ↑ Mercurial Plugin for Trac
- ↑ Repositories in Redmine
- ↑ Tailor
- ↑ ConvertExtension в Mercurial Wiki
- ↑ RepositoryConversion в Mercurial Wiki
- ↑ Some projects that use Mercurial (англ.)
- ↑ OpenOffice.org development switches to Mercurial — GullFOSS
- ↑ Planning Vim 7.3 — vim_use | Google Groups
- ↑ Adium — Blog » Switching to Mercurial
- ↑ CPython hg transition complete
- ↑ Projects with synchronized Mercurial repositories (англ.)
[править] См. также
[править] Ссылки
- Официальные дистрибутивы для Windows и Mac OS X
- Книга «Mercurial: The Definitive Guide» (англ.)
- Mercurial введение, основы и расширения
|
|
||||||
|---|---|---|---|---|---|---|
| Клиент-серверные |
|
|||||
| Распределённые |
|
|||||
| Теория | Слияние • Ветви • Дельта-кодирование • diff | |||||
