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

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

CMNS: Mercurial у Вікісховищі

ОсобливостіРедагувати

Є єдиною програмою (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 mailing list. Архів оригіналу за 5 серпня 2012. Процитовано 4 липня 2011. 
  2. Архівована копія. Архів оригіналу за 6 червня 2022. Процитовано 6 червня 2022. 
  3. Bryan O'Sullivan (1 січня 2007). Mercurial: The Definitive Guide. Архів оригіналу за 25 жовтня 2019. Процитовано 27 червня 2010. 
  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. Архів оригіналу за 22 квітня 2009. Процитовано 27 червня 2010. 
  7. Guido van Rossum (30 березня 2009). And the winner is.... Python-Dev mailing list. Архів оригіналу за 19 квітня 2010. Процитовано 27 червня 2010. 
  8. Python PEP 385 [Архівовано 19 червня 2010 у Wayback Machine.] with Timeline TBD

ПосиланняРедагувати

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

  1. Mercurial саторі. Частина 1 [Архівовано 11 січня 2011 у Wayback Machine.] (саторі - просвітлення)
  2. Mercurial саторі. Частина 2 [Архівовано 2 квітня 2015 у Wayback Machine.]