Mercurial

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Mercurial
Тип розподілена система керування версіями
Розробники Matt Mackall
Перший випуск 19 квітня 2005[1]
Стабільний випуск 6.5.1 [2] (7 серпня 2023; 8 місяців тому (2023-08-07))
Операційна система POSIX, Microsoft Windows, MacOS
Мова програмування Python та C
Ліцензія GNU GPL
Репозиторій www.mercurial-scm.org/repo/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]

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

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

  1. Mackall, Matt (20 квітня 2005). Mercurial v0.1 - a minimal scalable distributed SCM. Linux kernel (Список розсилки). Архів оригіналу за 5 серпня 2012. Процитовано 4 липня 2011.
  2. https://wiki.mercurial-scm.org/Release6.5. {{cite web}}: Пропущений або порожній |title= (довідка)
  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 (Список розсилки). Архів оригіналу за 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.]