Выпуск распределённой системы управления версиями Mercurial 3.0

6 мая 2014 года

Wikinews-logo-ru.svg

Представлен релиз распределённой системы управления версиями Mercurial 3.0. Код Mercurial написан на языке Python (требующие высокой производительности части оформлены в виде модулей на Си) и распространяется под лицензией GPLv2+. Среди проектов, использующих Mercurial, можно выделить OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Nginx, Xine, Dovecot, NTFS-3G, Python, Vim и W3C.

Выпуск 3.0 не сигнализирует о появлении кардинальных изменений или новшеств, он лишь является следствием смены первой цифры в рамках используемой проектом десятичной схемы нумерации, в соответствии с которой после 2.9 следует версия 3.0, а не 2.10. Из новшеств можно отметить:

  • Новая команда "hg config", которая выводит имена и значения всех переменных конфигурации, а при указании опции "--edit" позволяет изменять их значения. Опция "--local" указывает на конфигурацию репозитория, а "--global" на системную конфигурацию.
  • Запоминание статуса HTTP-аутентификации. Раньше, параметры аутентификации передавались только после получения кода ошибки 401 (т.е. запросы дублировались 401/200, 401/200, 401/200...), сейчас параметры отправляются сразу для элементов путей в которых до этого был зафиксирован запрос аутентификации (401/200, 200, 200...).
  • Вывод осмысленного теста ошибки при попытке выполнения "hg push" для только что созданного репозитория.

Достоинства Mercurial:

  • Быстродействие:
  • Высокая производительность работы с хранилищем, не зависящая от числа элементом в нём (O(1) revlog);
  • Компактное хранение данных в проиндексированном и сжатом виде;
  • Оптимизирован для эффективной работы с данными на жёстком диске;
  • Все изменения и файлы в репозитории дополнительно проиндексированы;
  • Для копирования данных по сети используется HTTP и SSH, данные передаются в сжатом виде.
  • Масштабирование
  • Распределённая модель разработки позволяет участвовать в проекте неограниченному числу разработчиков;
  • Допускается произвольное слияние отдельных децентрализованных репозиториев, поддерживаемых отдельными разработчиками;
  • Объём репозитория, число файлов и зафиксированных изменений не отражается отрицательно на производительности;
  • При работе нет необходимости ждать освобождения блокировки.
  • Надёжность.
  • Для контроля целостности данных в репозитории используется SHA1;
  • Хранилище реализовано в журнальном виде - данные не замещаются, а добавляются. Ведётся журнал транзакций;
  • Быстрый алгоритм проверки целостности репозитория;
  • Встроенные средства резервного копирования и проверки целостности;
  • Удобство использования.
  • Привычный CVS-подобный набор команд;
  • Наличие встроенной системы подсказки;
  • Интегрированный Web-интерфейс;
  • Большой выбор GUI интерфейсов.
  • Лёгкость внедрения:
  • Поддержка платформ UNIX, MacOS X и Windows;
  • Средства, упрощающие миграцию с других систем управления исходными текстами;
  • Поддержка нескольких моделей организации репозитория: централизованная cvs-подобная, децентрализованная иерархическая и распределённая полуиерархическая;
  • Поддержка внешних обработчиков и дополнений.
 

ИсточникиПравить


Эта статья содержит материалы из статьи «Выпуск распределённой системы управления версиями Mercurial 3.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Выпуск распределённой системы управления версиями Mercurial 3.0