YaChudo

Mercurial

Переглядів: 0. Оновлено 12.10.2026.

Mercurial
Типрозподілена система керування версіями
РозробникиMatt Mackall
Перший випуск19 квітня 2005[1]
Стабільний випуск6.5.1 [2] (7 серпня 2023)
Операційна система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]

Дивись також

Примітки

  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. [Архівовано 2016-06-13 у Wayback Machine.]
  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.]


Джерело: стаття у Вікіпедії та історія редагувань (автори).