Представлен релиз распределённой системы управления версиями Mercurial 2.2. Среди проектов, использующих Mercurial, можно выделить OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Xen, Xine, Dovecot, NTFS-3G, Python, Vim и W3C.
Среди изменений, внесённых в выпуске Mercurial 2.2:
- В команду commit добавлена поддержка опции '--amend' для выполнения коммита с использованием новой инфраструктуры Phases, вводящей несколько дополнительных проверок на уровне клиента. Например, защищающей от перезаписи истории и обмена сырыми наборами изменений с другими репозиториями;
- Добавлена поддержка ОС Plan9;
- Серия оптимизаций: Увеличена производительность операции слияния (merge) при наличии большого числа неизвестных файлов. Ускорено выполнение операций push/pull для некоторых видов транспорта. На языке Си переписан парсер индекса revlog. Увеличена производительность распаковки больших цепочек при выполнении push. Ускорено выполнение операций чтения и записи больших fncache-файлов в хранилище;
- В команду graft добавлена опция "--dry-run" для оценочного выполнения действия без фактических изменений;
- В интерфейсе добавлена поддержка настройки ширины и цвета для веток, добавлено отображения числа блоков в diff, обеспечена поддержка многоуровневых индексов репозитория;
- Добавлена серверная настройка конфигурации для клонирования без использования сжатия;
- В команду revert добавлена поддержка возвращения изменений для субрепозиториев;
- В revset добавлено ключевое слово "matching";
- Расширены средства интеграции с Bugzilla.
Сразу после выпуска 2.2.0 вышло внеплановое обновление 2.2.1, в котором была устранена значительная утечка памяти в hgweb. С общими особенностями и достоинствами Mercurial можно познакомиться в тексте анонса выпуска 2.0.