Mercurial

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

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

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

Особливості

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


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.