Релиз системы управления версиями Apache Subversion 1.10.0
15 апреля 2018 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Wikinews-logo-ru.svg/300px-Wikinews-logo-ru.svg.png)
После почти трёх лет разработки состоялся релиз новой ветки системы управления версиями Subversion 1.10.0. Несмотря на развитие децентрализованных систем, Subversion продолжает пользоваться популярностью в коммерческих компаниях и проектах, использующих централизованный подход к управлению версиями и конфигурацией программных систем. Из использующих Subversion открытых проектов можно отметить: проекты Apache, FreeBSD, Free Pascal, OpenSCADA, GCC и LLVM.
Ключевые улучшения:
- Представлена новая реализация механизма авторизации на основе путей, дающего возможность определить правила доступа к отдельным каталогам в репозитории. Помимо ранее предлагаемых правил
"[repos:/path]" и "[/path]", которые допускают только точные совпадения путей, новая реализация позволяет использовать два новых формата "[:glob:repos:/path]" и "[:glob:/path]", допускающих использование масок. Для создания масок предлагается использовать классические маски вида *foo*.bar, а также конструкции "/*/" для сопоставления с одним сегментом пути и "/**/" для сопоставления с произвольным числом сегментов пути;
- Полностью переработана интерактивная система разрешения конфликтов, которая ищет в истории репозитория структурные изменения (операции добавления, удаления, копирования и перемещения), которые конфликтуют с локальными изменениями в рабочей копии и приводят к образованию конфликтов. В новой реализации дерево конфликтов снабжено детальными сведениями, которые раньше приходилось искать вручную, в том числе указаны номера ревизий и имена разработчиков конфликтующих изменений. Новая система также научилась определять операции перемещения и переименования в истории репозитория и учитывать их при изменении локальной рабочей копии, что сделало процесс слияния между ветками максимально прозрачным, в случае если в одной или в обеих ветках выполнялись операции переименования файлов или каталогов. Конфликты которые имеют однозначное решение теперь по возможности разрешаются автоматичести, без запроса пользователя (например, когда файл перемещён в другое место репозитория);
- Добавлена поддержка механизма сжатия LZ4, в качестве альтернативы ранее предлагавшейся системе zlib. LZ4 существенно превосходит zlib по скорости сжатия и распаковки, сохраняя при этом приемлемую степень сжатия. Как результат, переход на LZ4 позволяет существенно увеличить производительность операций чтения и записи, особенно если репозиторий включает большие файлы. Поддержка LZ4 включена по умолчанию для сжатия данных в репозитории (версия формата хранилища 8), а также применяется для сжатия трафика при доступе к внешнему репозиторию по "http://" и "svn://". Для обновления до новой версии формата хранилища можно использовать команду "svnadmin upgrade";
- Добавлены экспериментальные команды "svn shelve/unshelve/shelves", позволяющие отдельно отложить незавершенные изменения в рабочей копии, чтобы срочно поработать над чем-то другим, а затем вернуть недоделанные изменения в рабочую копию. Поведение предлагаемой возможности похоже на сохранение патча, созданного через "svn diff", с последующим его восстановлением через "svn patch";
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.