Mercurial

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Mercurial
Mercurial-logo.png
Розробник(и) Matt Mackall
Перший випуск 19 квітня 2005[1]
Стабільний випуск 2.8 (1 листопада 2013; 169 днів тому)
Написано на Python та C
Операційна система POSIX, Microsoft Windows, MacOS
Тип розподілена система керування версіями
Ліцензія GNU GPL
Сайт mercurial.selenic.com

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

Серед проектів, що використовують Mercurial, можна виділити OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Xen, Xine, Dovecot, NTFS-3G, Python, Vim і W3C.

Особливості[ред.ред. код]

Є єдиною програмою (hg), написаною на скриптовій мові Python та С.

Із переваг Mercurial можна відмітити:

Швидкодія
  • Висока продуктивність роботи з сховищем, незалежна від числа елементів у ньому (O(1) revlog);
  • Компактне зберігання даних в проіндексованому і стислому вигляді;
  • Оптимізований для ефективної роботи з даними на твердому диску;
  • Всі зміни та файли в репозиторії додатково проіндексовані;
  • Для копіювання даних по мережі використовується HTTP і SSH, дані передаються в стислому вигляді.
Масштабування
  • Розподілена модель розробки дозволяє брати участь у проекті необмеженому числу розробників;
  • Допускається довільне злиття окремих децентралізованих репозиторіїв, які підтримуються окремими розробниками;
  • Обсяг сховища, число файлів і зафіксованих змін не відбивається негативно на продуктивності;
  • При роботі немає необхідності чекати звільнення блокування.
Надійність.
  • Для контролю цілісності даних в репозиторії використовується SHA1;
  • Сховище реалізовано в журнальному вигляді — дані не заміщаються, а додаються. Ведеться журнал транзакцій;
  • Швидкий алгоритм перевірки цілісності сховища;
  • Вбудовані засоби резервного копіювання та перевірки цілісності;
Зручність використання.
  • Звичний CVS-подібний набір команд;
  • Наявність вбудованої системи підказки;
  • Інтегрований веб-інтерфейс;
  • Великий вибір GUI інтерфейсів.
Легкість впровадження
  • Підтримка платформ UNIX, MacOS X і Windows;
  • Засоби , що спрощують міграцію з інших систем управління вихідними текстами;
  • Підтримка декількох моделей організації репозиторію: централізована cvs-подібна, децентралізована ієрархічна і розподілена напівієрархічна;
  • Підтримка зовнішніх обробників і доповнень.

Документація[ред.ред. код]

Вичерпна інструкція з використання, Mercurial: The Definitive Guide,[2] була написана Браяном Салліваном. Вона доступна як в вигляді паперової книжки, так і вільно доступна онлайн, під ліцензією Open Publication License.

Також гарну інструкцію написав Джоел Спольський.[3]

Хостинги[ред.ред. код]

Існують сайти що надають безплатний хостинг для репозиторіїв Mercurial:

Проекти, що використовують Mercurial[6][ред.ред. код]

Розробники мови Python теж хотіли перейти з Subversion на Mercurial та вони чекають на розробку hgsubversion.[7][8]

Примітки[ред.ред. код]

Посилання[ред.ред. код]

З чого почати:

  1. Mercurial саторі. Частина 1 (саторі - просвітлення), Частина 2
  2. Mercurial хостинг на Google Code

Дивись також[ред.ред. код]