Ключевые улучшения:
- Представлена новая реализация механизма авторизации на основе путей, дающего возможность определить правила доступа к отдельным каталогам в репозитории. Помимо ранее предлагаемых правил "[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";
Источник: https://www.opennet.ru/opennews/art.shtml?num=48444
(opennet.ru, основная лента)