Выпуск системы управления версиями Apache Subversion 1.11.0
Организация Apache Software Foundationпредставила релиз системы управления версиями Subversion 1.11.0. Несмотря на развитие децентрализованных систем, Subversion продолжает пользоваться популярностью в коммерческих компаниях и проектах, использующих централизованный подход к управлению версиями и конфигурацией программных систем. Из использующих Subversion открытых проектов можно отметить: проекты Apache, FreeBSD, Free Pascal, OpenSCADA, GCC и LLVM.
Выпуск примечателен переходом к фиксированному циклу разработки. Новые ветки теперь будут формироваться раз в полгода. Раз в два года ветке будет присваиваться статус выпуска с длительным сроком поддержки (LTS). Обычны выпуски будут поддерживаться 6 месяцев до момента формирования следующего значительного выпуска. LTS-ветки будут поддерживаться 4 года. Выпуск Subversion 1.11 отнесен к обычным выпускам, а прошлой версии Subversion 1.10 присвоен статус LTS. Следующим LTS-релизом станет версия Subversion 1.14, которую планируют выпустить в апреле 2020 года.
Ключевые улучшения Subversion 1.11:
- Добавлена экспериментальная возможность сохранения слепков состояния коммитов ("commit checkpointing"), позволяющая сохранить снапшот изменений, еще не зафиксированных коммитом, и позднее восстановить в рабочей копии любую из сохраненных версий изменений. Новая функция предоставляет разработчикам возможность откатить состояние рабочей копии в случае ошибочного обновления.
- Повышена надежность экспериментальных команд "svn x-shelve/x-unshelve/x-shelves", позволяющих отдельно отложить незавершенные изменения в рабочей копии, чтобы срочно поработать над чем-то другим, а затем вернуть недоделанные изменения в рабочую копию. В новой версии добавлена поддержка слепков состояния для сохранение нескольких версий изменения, реализована поддержка бинарных файлов, изменен формат хранения изменений, увеличена надежность возврата изменений в рабочую копию в ситуации ее обновления. Добавлены новые команды x-shelf-diff, x-shelf-drop, x-shelf-list, x-shelf-list-by-paths, x-shelf-log и x-shelf-save;
- Интерфейс интерактивного разрешения конфликтов расширен поддержкой ситуаций возникновения конфликтов из-за перемещения файлов и каталогов. Например, теперь поддерживается разрешение большинства конфликтов, связанных с потерей элементов в результате их перемещения после слияния исходной ветки;
- Добавлена новая команда "svn info --x-viewspec" для вывода спецификации, описывающей текущую рабочую копию. Описание включает информацию об ограничении глубины подветок, исключении подветок, переключении на другой URL или обновлении до нового номера ревизии, по сравнению с их родительским каталогом;
- Добавлена возможность сохранения пароля к клиентскому сертификату;
- Обновлен биндиг JavaHL, в котором обеспечена совместимость с Java 10. Для сборки JavaHL теперь требуется как минимум Java 8.