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:
- Bitbucket
- Project Kenai від Oracle Corporation
- SourceForge
- Assembla
- GNU Savannah
- Alioth від Debian
- BerliOS
- CodePlex[5]
- На сайті Mercurial надано вичерпний перелік сервісів хостингу
- Mozilla
- OpenJDK
- OpenSolaris
- OpenOffice.org
- Symbian OS
- Adblock Plus
- Adium
- Audacious
- GNU Octave
- GNU Multi-Precision Library
- Growl
- Wget
- MoinMoin
- Netbeans
- Nuxeo
- Ogre3D
- SAGE (система комп'ютерної алгебри)
- Vim
Розробники мови програмування Python також бажали перейти з Subversion на Mercurial, але їх стримує hgsubversion.[7][8]
- Клієнт з графічним інтерфейсом користувача для роботи з Mercurial TortoiseHg
- ↑ Mackall, Matt (20 квітня 2005). Mercurial v0.1 - a minimal scalable distributed SCM. Linux kernel (Список розсилки). Архів оригіналу за 5 серпня 2012. Процитовано 4 липня 2011.
- ↑ https://wiki.mercurial-scm.org/Release6.5.
{{cite web}}
: Пропущений або порожній|title=
(довідка) - ↑ Bryan O'Sullivan (1 січня 2007). Mercurial: The Definitive Guide. Архів оригіналу за 25 жовтня 2019. Процитовано 27 червня 2010.
- ↑ Hg Init: a Mercurial tutorial by Joel Spolsky. Архів оригіналу за 13 червня 2016. Процитовано 27 червня 2010.
- ↑ CodePlex Weblog: CodePlex now supporting native Mercurial. 22 січня 2010. Архів оригіналу за 7 липня 2013. Процитовано 27 червня 2010.
- ↑ Some projects that use Mercurial. Архів оригіналу за 22 квітня 2009. Процитовано 27 червня 2010.
- ↑ Guido van Rossum (30 березня 2009). And the winner is... Python-Dev (Список розсилки). Архів оригіналу за 19 квітня 2010. Процитовано 27 червня 2010.
- ↑ Python PEP 385 [Архівовано 19 червня 2010 у Wayback Machine.] with Timeline TBD
З чого почати:
- Mercurial саторі. Частина 1 [Архівовано 11 січня 2011 у Wayback Machine.] (саторі - просвітлення)
- Mercurial саторі. Частина 2 [Архівовано 2 квітня 2015 у Wayback Machine.]
![]() |
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |
|