Организация Apache Software Foundation опубликовала релиз системы управления версиями Subversion 1.14.0, который отнесён к выпускам с длительным сроком поддержки (LTS), обновления для которого будут выходить до 2024 года. Несмотря на развитие децентрализованных систем, Subversion продолжает пользоваться популярностью в коммерческих компаниях и проектах, использующих централизованный подход к управлению версиями и конфигурацией программных систем. Из использующих Subversion открытых проектов можно отметить: проекты Apache, FreeBSD, Free Pascal и OpenSCADA. Отмечается, что в едином SVN-репоизитории проектов Apache хранится около 1.8 миллионов ревизий с информацией об изменениях в проектах.
Ключевые улучшения Subversion 1.14:
- Добавлена команда «svnadmin build-repcache», при помощи которой можно актуализировать состояние кэша «rep-cache», включающего сведения о дубликатах, используемые в механизме дедупликации Representation Sharing (rep-sharing, позволяет существенно сократить размер репозитория за счёт хранения дублирующихся данных только один раз). Команда может применяться для добавления в кэш недостающих элементов для указанного диапазона ревизий, например, после того как дедупликация временно отключалась и кэш потерял актуальность.
- В привязках SWIG для языка Python и тестовом наборе реализована поддержка Python 3. Технически написанный на Python код по-прежнему можно использовать с Python 2.7, но тестирование и исправление ошибок, связанных с данной веткой прекращено в связи с окончанием времени жизни Python 2. Python не является обязательным компонентом Subversion и используется при сборке в тестах и в привязках SWIG.
- Опции «—quiet» и «—diff» в команде «svn log» теперь не являются взаимоисключающими, что, например, упрощает отображение только различий в диапазоне ревизий.
- В «svn info —show-item» добавлен аргумент «changelist».
- При запуске заданного пользователем редактора, например, при интерактивном разрешении конфликтов, обеспечено экранирование спецсимволов в путях к редактируемому файлу. Изменение решает проблемы с редактированием файлов, имена которых включают пробелы и спецсимволы.
- Продолжено тестирование экспериментальных команд «svn x-shelve/x-unshelve/x-shelves», которые позволяют отдельно отложить незавершенные изменения в рабочей копии, чтобы срочно поработать над чем-то другим, а затем вернуть недоделанные изменения в рабочую копию, не прибегая к таким ухищрениям как сохранение патча через «svn diff» с последующим его восстановлением через «svn patch».
- Продолжено тестирование экспериментальной возможности сохранения слепков состояния коммитов («commit checkpointing»), позволяющая сохранить снапшот изменений, еще не зафиксированных коммитом, и позднее восстановить в рабочей копии любую из сохранённых версий изменений (например, чтобы откатить состояние рабочей копии в случае ошибочного обновления).
- Продолжено тестирование экспериментальной команды «svn info —x-viewspec» для вывода спецификации, описывающей текущую рабочую копию. Описание включает информацию об ограничении глубины подветок, исключении подветок, переключении на другой URL или обновлении до нового номера ревизии, по сравнению с родительским каталогом.