Организация Apache Software Foundation представила релиз системы управления версиями Subversion 1.8.0. Несмотря на развитие децентрализованных систем, Subversion пользуется большой популярностью в коммерческих компаниях и проектах, использующих централизованный подход к управлению версиями и конфигурацией программных систем. При подготовке нового выпуска основное внимание было уделено адаптации применения Subversion в корпоративной среде, упрощению администрирования и автоматизации выполнения типовых операций.
Из использующих Subversion открытых проектов можно отметить: проекты Apache, FreeBSD, Free Pascal, GCC, Mono, WordPress и Ruby. Тем не менее наблюдается большой отток проектов на Git, в частности на Git за последнее время перешли проекты Django, PHP, MediaWiki, Ruby on Rails и nginx. Поддержка Subversion реализована в таких хостингах открытых проектов, как Google Code, CodePlex и SourceForge.
Среди ключевых улучшений:
- Улучшены средства по отслеживанию слияний и выявлению конфликтов в дереве исходных текстов, направленные на упрощение поддержания проектов в которых практикуется частое отделение и слияние веток. В новом выпуске представлены новые возможности по автоматизации слияний на стороне клиента и выявлению конфликтов в процессе операций слияния веток и обновления кода. Кроме того, клиент Subversion теперь рассматривает в качестве первичных операций отслеживание перемещения рабочих копий элементов, что является базисом для более полной общесистемой поддержки перемещения и переименования объектов в будущих выпусках;
- Для администраторов представлен унифицированный механизм для управления конфигурацией Subversion на стороне клиента, в том числе для распространения шаблонов игнорирования и автоматического определения свойств. Указанный механизм реализован путем встраивания непосредственно в репозиторий связанных с конфигурацией наследуемых свойств;
- Расширены возможности бэкенда с реализацией хранилища FSFS, в котором появилась поддержка кэширования свойств ревизий, упаковки свойств ревизий в отдельный файл и обеспечения сохранения только различий (delta-изменений) для свойств и содержимого директорий. В итоге удалось достигнуть повышения производительности и снижения потребления дискового пространства;
- Осуществлён уход от использования HTTP-библиотеки Neon, вместо которой для организации доступа клиента к репозиторию по HTTP задействована более новая библиотека Serf. Serf значительно опережает по скорости работы с репозиторием библиотеку neon, за счёт использования таких техник как конвейерная обработка и кэширование запросов;
- Хранилище на базе BerkeleyDB признано устаревшим и больше не будет развиваться. Все усилия по разработке будут связны с усовершенствованием хранилища FSFS. Тем не менее поддержка BerkeleyDB будет сохранена, но кроме исправления ошибок реализация новшеств теперь прекращена.