Facebook работает над реализацией сервера Mercurial на языке Rust

2016-10-19

Facebook, продолжающий использовать распределённую систему управления версиями Mercurial в своих внутренних проектах, работает над созданием нового сервера Mercurial, для разработки которого выбран язык программирования Rust. Развиваемый сервер может работать как распределённая система и поддерживает для хранения репозитория подключаемые хранилища в формате ключ/значение. Проект Mozilla заинтересован в развитии нового сервера, который можно будет использовать для переноса репозиториев hg.mozilla.org в инфраструктуру Amazon S3 или других облачных сервисов.

Для Mercurial в Facebook также разработано расширение, которое позволяет ускорить выполнение выборки в 4-10 раз, благодаря применению кэширования типовых запросов. Публикация нового расширения ожидается не раньше декабря. Кроме того, Facebook реализовал новую команду "hg absorb", позволяющую манипулировать черновиками изменений, уже добавленных в рабочую директорию, но для которых ещё не выполнен коммит. Команда выполняет анализ наличия конфликтов для предлагаемых для коммита изменений и если изменение не может быть добавлено без конфликта, система оставляет его неподтверждённым. Совместно с Google и Unity, Facebook также работает над новой виртуальной ФС, оформленной в виде модуля FUSE и позволяющей ускорить работу репозиториев с большим числом файлов.