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

Доступен релиз распределённой системы управления версиями Mercurial 4.1. Код Mercurial написан на языке Python (требующие высокой производительности части оформлены в виде модулей на Си) и распространяется под лицензией GPLv2+. Среди проектов, использующих Mercurial, можно выделить следующие: Mozilla, OpenOffice.org, OpenSolaris, NetBeans, OpenJDK, Nginx, Xine и W3C.

Основные изменения:

  • Представлен новый расширяемый API для подключения движков сжатия данных, позволяющий создавать расширения с поддержкой новых форматов сжатия;
  • В основной состав включен новый движок сжатия zstd, который собирается и используется по умолчанию во многих командах при работе поверх HTTP, если клиент и сервер поддерживают данный движок. Использование zstd позволяет на 60% снизить нагрузку на CPU на стороне сервера при выполнении операций, подобных «hg bundle».
  • По умолчанию для опции »--profile» задействована новая статистическая система профилирвания, снижающая накладные расходы и выдающая более точные результаты, чем встроенный в Python профилировщик cProfile;
  • Добавлена экспериментальная поддержка дополнительных возможностей из git-diff;
  • Реализована экспериментальная команда «hg debugupgraderepo», позволяющая на месте обновить рерозиторий до самой свежей версии формата хранилища;
  • Значительно увеличена производительность чтения отдельных записей revlog, что положительно сказалось на скорости сканирования изменений в больших репозиториях;
  • В два раза ускорена работа алгоритма определения различий содержимого, что привело к ускорению выполнения операций записи в репозиторий, таких как «hg commit».

© OpenNet