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

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

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

  • Устранена опасная уязвимость CVE-2016–3105, которая может привести к выполнению кода злоумышленника при выполнении конвертации Git-репозитория с использованием расширения convert;
  • В состав включено разработанное компанией Facebook расширение fsmonitor, которое использует средства отслеживания изменений в ФС (inotify, FSevents и т.п.) для ускорения выполнения команд, подобных «hg status», «hg diff» и «hg commit». Ускорение достигается за счет обработки событий изменения от ФС вместо проверки перебором всех файлов;
  • Добавлено экспериментальное расширение automv, которое автоматизирует определение фактов переименования и копирования файлов в репозитории без применения команд «hg mv» и «hg cp»;
  • Добавлен клиент chg, предоставляющий альтернативный способ выполнения команд Mercurial и работающий значительно быстрее. В отличие от штатного интерфейса, целиком написанного на языке Python, chg разделён на клиентскую и серверную часть: клиент написан на Си, а сервер на Python.

© OpenNet