The OpenNET Project: Управління версіями ПЗ

Mercurial - fast, lightweight Source Control Management system (Версія: 2.0 від 2011-11-04) [ + ]
[ обговорити ] Система управління вихідними текстами і патчами для великих розподілених проектів. 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.