Mercurial

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

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

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,[6] була написана Браяном Салліваном. Вона доступна, як в вигляді паперової книжки, так і в онлайн, під ліцензією Open Publication License.

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

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

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

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

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

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

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

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

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

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

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

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