Релиз системы управления версиями Subversion 1.7.0
Опубликовано 12 Октябрь 2011 13:04:57
Организация Apache Software Foundation представила релиз системы управления версиями Subversion 1.7.0, первого значительного выпуска с момента принятия в апреле 2010 года Subversion в число первичных проектов Apache. Несмотря на развитие децентрализованных систем, Subversion пользуется большой популярностью в коммерческих компаниях и проектах, использующих централизованный подход к управлению версиями и конфигурацией программных систем.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32019
Из использующих Subversion открытых проектов можно отметить: Django, FreeBSD, Free Pascal, GCC, MediaWiki, Mono, PHP, Ruby. Поддержка Subversion реализована в таких хостингах открытых проектов, как Google Code, CodePlex и SourceForge. Результаты исследования, проведённого компанией Forrester Research, показали, что Apache Subversion лидирует в категории продуктов автономной конфигурации программного обеспечения и управления изменениями.
Среди ключевых улучшений:
- HTTPv2 - новый протокол, позволяющий увеличить производительность при обмене данными между клиентом и сервером Subversion, за счет минимизации числа обращений;
- WC-NG - полностью переписан код одной из старейших частей Subversion - библиотеки работы с рабочей копией мета-данных libsvn_wc, что позволило значительно увеличить производительность работы централизованного хранилища данных, а также обеспечить функциональность, позволяющую реализовать такие возможности, как отложенные и offline коммиты;
- Рабочие копии мета-данных, ранее разбросанные по всем директориям (каталоги .svn), теперь сохраняются в одном месте - в корне рабочей копии проекта создаётся одна директория ".svn", мета-данные в которой сохраняются с использованием SQLite. В этой же директории хранится и копия изначального содержимого всех файлов проекта (вместо text-bases отныне данные хранятся как pristines). Недостатком использования SQLite являются возможное усложнение резервного копирования, так как простое копирования файла базы во время работы с ней библиотек Subversion может привести к нарушению целостности. Отдельно отмечается, что новая версия не поддерживает автоматическое преобразования формата хранения мета-данных из ветки 1.6, для преобразования необходимо вручную выполнить команду "svn upgrade";
- svnrdump - новая клиентская утилита, предоставляющая возможности похожие на "svnadmin dump" и "svnadmin load", но способная работать с внешними репозиториями по сети. Используя данную утилиту администратору больше не требуется заходить на каждый удалённый сервер для полного доступа к репозиторям;
- Значительно увеличена стабильность и производительность клиентской библиотеки libsvn_ra_serf, используемой для организации доступа к репозиторию по HTTP. В настоящее время serf значительно опережает по скорости работы с репозиторием библиотеку neon, тем не менее neon пока оставлена в качестве библиотеки по умолчанию, но в версии Subversion 1.8 запланирован переход на serf;
- Улучшение производительности и эффективности выполнения операций по слиянию веток (merge);
- Ряд оптимизаций производительности на стороне сервера: используется более агрессивный метод кэширования и возможность управления степенью сжатия передаваемого трафика;
- Поддержка новой команды "svn patch", позволяющей применить патч в формате unidiff, полученный в результате выполнения команды "svn diff" или сторонних diff-инструментов. По сути "svn patch" повторяет действие утилиты patch, но только сразу помещая изменения в репозиторий;
- Более наглядный вывод информации при выполнении "svn update" для нескольких рабочих копий;
- При выполнении "svn diff" изменения в свойствах теперь отображаются в стиле unidiff, за исключением свойств svn:mergeinfo;
- При выводе ошибки или предупреждения теперь выводится номер, идентифицирующий тип проблемы;
- В "svn log" добавлена опция "--diff", позволяющая сразу выводить различия;
- В "svn update" добавлена опция "--parents", при указании которой автоматически создаются недостающие родительские директории;
- Новая команда "svn relocate", связывающая рабочую копию репозитория с другим корневым URL;
- В "svn diff" добавлена опция "--show-copies-as-adds", при которой скопированные файлы отображаются в стиле, как при добавлении новых файлов;
- В "svn diff" добавлена опция "--git", выводящая дополнительные аннотации о добавленных, удалённых или скопированных файлах, в стиле, подобном git-diff;
- Добавлена команда "svnlook filesize", возвращающая размер указанного пути в репозитории в состоянии для заданной ревизии или транзакции.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32019
|
0 | Tweet | Нравится |
|