Выпуск распределённой системы управления версиями 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