Mercurial

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Mercurial
Типрозподілена система керування версіями
РозробникиMatt Mackall
Перший випуск19 квітня 2005[1]
Стабільний випуск5.0.2 [2] (2 жовтня 2019; 4 роки тому (2019-10-02))
Операційна системаPOSIX, Microsoft Windows, MacOS
Мова програмуванняPython та C
ЛіцензіяGNU GPL
Репозиторійrepo.mercurial-scm.org/hg-stable
Вебсайтwww.mercurial-scm.org

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

Особливості

Є єдиною програмою (hg), написаною на мові Python, а найбільш критичні ділянки коду на С.

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

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

Документація

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

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

Хостинги

Сайти, що надають сервіс з безплатного (з певними обмеженнями) хостингу сховищ Mercurial:

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

Розробники мови Python також бажали перейти з Subversion на Mercurial, але їх стримує hgsubversion.[7][8]

Дивись також

  • Клієнт з графічним інтерфейсом користувача для роботи з Mercurial TortoiseHg

Примітки

  1. Mackall, Matt (20 квітня 2005). Mercurial v0.1 - a minimal scalable distributed SCM. Linux kernel (Список розсилки). Архів оригіналу за 5 серпня 2012. Процитовано 4 липня 2011.
  2. https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_5.1.2_.282019-10-02.29
  3. Bryan O'Sullivan (1 січня 2007). Mercurial: The Definitive Guide.
  4. Hg Init: a Mercurial tutorial by Joel Spolsky. Архів оригіналу за 13 червень 2016. Процитовано 27 червень 2010.
  5. CodePlex Weblog: CodePlex now supporting native Mercurial. 22 січня 2010. Архів оригіналу за 7 липня 2013. Процитовано 27 червня 2010.
  6. Some projects that use Mercurial
  7. Guido van Rossum (30 березня 2009). And the winner is... Python-Dev (Список розсилки).
  8. Python PEP 385 with Timeline TBD

Посилання

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

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