[go: nahoru, domu]

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

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

Особливості

ред.

Є єдиною програмою (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.]