The OpenNET Project: Управління версіями ПЗ
[ обговорити ] Система управління вихідними текстами і патчами для великих розподілених проектів. Mercurial може виступати як альтернатива git.
Коротка характеристика Mercurial:
- Висока швидкодія.
- Екстремально висока продуктивність роботи зі сховищем, яка не залежить від числа елементом в ньому (O (1) revlog). Зміни зберігаються в бінарному і стислому вигляді.
- Система оптимізована для ефективної роботи з даними на жорсткому диску;
- Всі зміни і файли в репозиторії додатково проіндексовані
- Для копіювання даних по мережі використовується HTTP і SSH sync, дані передаються в стислому вигляді.
- масштабування
- Розподілена модель розробки дозволяє брати участь в проекті необмеженому числу розробників;
- Допускається довільне злиття окремих децентралізованих репозиторіїв, підтримуваних окремими розробниками;
- Обсяг сховища, число файлів і зафіксованих змін не відбивається негативно на продуктивності;
- При роботі немає необхідності чекати звільнення блокування.
- Надійність.
- Для контролю цілісності даних в репозиторії використовується SHA1;
- Сховище реалізовано в журнальному вигляді, коли дані не заміщаються, а додаються. Ведеться журнал транзакцій;
- Швидкий алгоритм перевірки цілісності сховища;
- Засоби резервного копіювання.
- Зручність використання.
- Більшість команд звичні для користувачів CVS
- Наявність вбудованої системи підказки.
- Інтегрований Web-інтерфейс;
- Великий вибір GUI інтерфейсів .
- Легкість впровадження:
- Підтримка платформ UNIX, MacOS X і Windows;
- Кошти спрощують міграцію з інших систем управління вихідними текстами;
- Підтримка декількох моделей організації: централізована cvs-подібна, розподілена напів-ієрархічна і ієрархічна децентралізована
- Підтримка зовнішніх оброблювачів і доповнень.
Mercurial був обраний для управління вихідними текстами в таких проектах, як OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Xen, Xine.