Релиз распределенной системы управления версиями Mercurial 2.0

Увидел свет релиз распределенной системы управления версиями Mercurial 2.0. Версия 2.0 не отличается кардинальными изменениями, смена первой цифры является следствием принятых в проекте правил нумерации релизов (после версии 1.9 выходит не 1.10, а 2.0).

Ключевые изменения:

  • Новая команда graft, реализующая функциональность сходную с расширением transplant. Команда graft позволяет скопировать отдельные изменения из другой ветки без непосредственного слияния веток, что существенно упрощает выполнение таких операций как бэкпортирвоание изменений;
  • В состав включено расширение largefiles для работы с помещаемыми в репозиторий большими бинарными файлами, которые плохо сжимаются, не пересекаются с другими файлами и не поддаются слиянию, т.е. которые не эффективно хранить в стандартном формате Revlog, базирующемся на сохранении изменений в сжатом виде. Для хранения подобные файлов расширение largefiles использует отдельное централизованное хранилище, доступное по сети. Поддерживается только набор простейших действий: добавление, извлечение, переименование и проверка целостности. Доступ к хранилищу может быть организован через SSH или HTTP (hgweb), а также в форме создания директории, доступной через сетевую ФС;
  • В систему подсказки, выводимую через команду help, добавлены реальные примеры использования различных команд (help -v);
  • В команду import и расширение rebase добавлена опция "--edit";
  • В команде log реализована поддержка стиля вывода 'bisect';
  • В расширение color добавлена поддержка определения стилей для заданных тегов;
  • В расширение convert добавлена поддержка закладок в filemap;
  • В расширении export реализована опция форматрировния %m, которая сопоставлена с первой строкой сообщения о коммите;
  • В расширение rebase добавлена опция "--rev" и возможность выполнить rebase для прародителя;
  • В расширении share появилась поддержка команды unshare.

Среди использующих Mercurial проектов: OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Xen, Xine, Dovecot, NTFS-3G, OpenOffice, Python, Vim, W3C.

Из достоинств Mercurial можно отметить:

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


Источник:
http://www.opennet.ru/opennews/art.shtml?num=32211

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>