Mercurial
![]() |
|
|---|---|
| Розробник(и) | Matt Mackall |
| Перший випуск | 19 квітня 2005[1] |
| Стабільний випуск | 2.3 (2 серпня 2012) |
| Написано на | Python та C |
| Операційна система | POSIX, Microsoft Windows, MacOS |
| Тип | Система керування версіями |
| Ліцензія | GNU GPL |
| Сайт | mercurial.selenic.com |
Mercurial — вільна розподілена система керування версіями файлів та спільної роботи, розроблена для ефективної роботи з дуже великими репозиторіями коду. Mercurial спочатку був написаний для Linux, та пізніше портований під Windows, Mac OS X і більшість Unix-систем. У першу чергу він є консольною програмою. Всі його операції запускаються параметрами програми hg, назва якої походить від позначення хімічного знака ртуті (англ. mercury).
Серед проектів, що використовують Mercurial, можна виділити OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Xen, Xine, Dovecot, NTFS-3G, Python, Vim і W3C.
Зміст |
Особливості [ред.]
Є єдиною програмою (hg), написаною на скриптовій мові Python та С.
Із переваг Mercurial можна відмітити:
- Швидкодія
- Висока продуктивність роботи з сховищем, незалежна від числа елементів у ньому (O(1) revlog);
- Компактне зберігання даних в проіндексованому і стислому вигляді;
- Оптимізований для ефективної роботи з даними на твердому диску;
- Всі зміни та файли в репозиторії додатково проіндексовані;
- Для копіювання даних по мережі використовується HTTP і SSH, дані передаються в стислому вигляді.
- Масштабування
- Розподілена модель розробки дозволяє брати участь у проекті необмеженому числу розробників;
- Допускається довільне злиття окремих децентралізованих репозиторіїв, які підтримуються окремими розробниками;
- Обсяг сховища, число файлів і зафіксованих змін не відбивається негативно на продуктивності;
- При роботі немає необхідності чекати звільнення блокування.
- Надійність.
- Для контролю цілісності даних в репозиторії використовується SHA1;
- Сховище реалізовано в журнальному вигляді — дані не заміщаються, а додаються. Ведеться журнал транзакцій;
- Швидкий алгоритм перевірки цілісності сховища;
- Вбудовані засоби резервного копіювання та перевірки цілісності;
- Зручність використання.
- Звичний CVS-подібний набір команд;
- Наявність вбудованої системи підказки;
- Інтегрований веб-інтерфейс;
- Великий вибір GUI інтерфейсів.
- Легкість впровадження
- Підтримка платформ UNIX, MacOS X і Windows;
- Засоби , що спрощують міграцію з інших систем управління вихідними текстами;
- Підтримка декількох моделей організації репозиторію: централізована cvs-подібна, децентралізована ієрархічна і розподілена напівієрархічна;
- Підтримка зовнішніх обробників і доповнень.
Документація [ред.]
Вичерпна інструкція з використання, Mercurial: The Definitive Guide,[2] була написана Браяном Салліваном. Вона доступна як в вигляді паперової книжки, так і вільно доступна онлайн, під ліцензією Open Publication License.
Також гарну інструкцію написав Джоел Спольський.[3]
Хостинги [ред.]
Існують сайти що надають безплатний хостинг для репозиторіїв Mercurial:
- Bitbucket
- Google Code [4]
- Project Kenai від Sun Microsystems
- SourceForge
- Assembla
- GNU Savannah
- Alioth від Debian
- BerliOS
- CodePlex[5]
- Інші перечислені на вікі проекту Mercurial
Проекти, що використовують Mercurial[6] [ред.]
- Mozilla
- OpenJDK
- OpenSolaris
- OpenOffice.org
- Symbian OS
- Adblock Plus
- Adium
- Audacious
- Go (мова програмування)
- GNU Octave
- GNU Multi-Precision Library
- Growl
- Wget
- MoinMoin
- Netbeans
- Nuxeo
- Ogre3D
- SAGE (система комп'ютерної алгебри)
- Vim
Розробники мови Python теж хотіли перейти з Subversion на Mercurial та вони чекають на розробку hgsubversion.[7][8]
Примітки [ред.]
- ↑ Mackall, Matt (2005-04-20). «Mercurial v0.1 - a minimal scalable distributed SCM». Linux kernel mailing list.
- ↑ Bryan O'Sullivan (2007-01-01). Mercurial: The Definitive Guide.
- ↑ Hg Init: a Mercurial tutorial by Joel Spolsky
- ↑ «Google Code Blog: Mercurial Now Available to All Open Source Projects». 2009-05-28.
- ↑ «CodePlex Weblog: CodePlex now supporting native Mercurial». 2010-01-22.
- ↑ Some projects that use Mercurial
- ↑ Guido van Rossum (2009-03-30). «And the winner is...». Python-Dev mailing list.
- ↑ Python PEP 385 with Timeline TBD
Посилання [ред.]
З чого почати:
- Mercurial саторі. Частина 1 (саторі - просвітлення)
- Mercurial хостинг на Google Code
Див. також [ред.]
|
|||||||||||||||||||||||||||||||||||||||


