Возможности
· Хранение полной истории изменений отслеживаемых объектов (файлов, каталогов, символьных ссылок) в централизованном хранилище (репозитории), в том числе при изменении атрибутов («метаданных»), перемещении, переименовании и удалении.
Метаданные: каждый файл и каталог имеет собственный набор свойств, представленных в виде названия и значения. Вы можете создавать и сохранять любые необходимые пары названий свойств и их значений. Свойства файлов точно так же находятся под управлением версиями, как и их содержимое.
· Копирование объектов с разветвлением истории - при копировании в хранилище появляются два отдельных объекта с общей историей.
· Настоящая история версий: в Subversion можно заменить файл, помещённый под управление версиями, другим файлом с тем же именем, но совершенно иным содержанием, возможно никак не связанным со старым объектом, без наследования таким элементом всей истории изменений. Subversion делает возможным добавление, удаление, копирование и переименование как файлов, так и каталогов. При этом каждый вновь добавленный файл начинает жизнь с чистого листа, сохраняя собственную историю изменений.
· Поддержка переноса изменений между копиями объектов, в том числе полного слияния копий (в рабочей копии; без объединения истории).
· Поддержка ветвления:
- создания ветвей (копированием директорий) и работы с ними;
- слияние ветвей (переносом изменений).
· Поддержка меток (копированием директорий).
· История изменений и копии объектов (в том числе ветви и метки) хранятся в виде связанных разностных копий - «дешёвых» (не требующих больших временны́х и дисковых ресурсов) при создании и хранении. Subversion создаёт ветки и метки путём простого копирования проекта, используя механизм, похожий на жёсткие ссылки в файловых системах. Благодаря этому, операции по созданию веток и меток занимают немного времени.
· Поддержка конкурентной (в том числе одновременной, с изоляцией транзакций) многопользовательской работы с хранилищем и, в большинстве случаев, автоматическим слиянием изменений различных разработчиков (в рабочей копии).
· Фиксации изменений в хранилище (в том числе многообъектные) организуются в виде атомарных транзакций: каждый набор изменений либо попадает в хранилище целиком, либо не попадает туда вовсе. Это позволяет разработчикам создавать и фиксировать изменения логически оправданными кусками, предотвращая тем самым проблемы, которые могут возникать в тех случаях, когда только часть необходимых изменений помещается в хранилище успешно.
· Сетевой обмен между сервером и клиентом предусматривает передачу только различий между рабочей копией и хранилищем.
· Обеспечивается одинаково эффективная работа как с текстовыми, так и с двоичными файлами. Subversion обнаруживает различия между файлами с помощью специального бинарного алгоритма, который одинаково работает как с текстовыми, так и с бинарными файлами. Файлы записываются в хранилище в сжатом виде независимо от их типа, а различия между отдельными версиями могут передаваться по сети в обоих направлениях.
· Различные варианты доступа к хранилищу, в том числе:
- непосредственный доступ на локальной файловой системе;
- имеется лёгкий самостоятельный сервер Subversion, который использует собственный протокол взаимодействия с клиентами и может легко туннелировать данные через SSH.
- Subversion может быть подключена к серверу HTTP Apache по протоколу WebDAV/DeltaV в виде модуля, что даёт ей огромное преимущество с точки зрения устойчивости работы и способности к взаимодействию, а также предоставляет прямой доступ к существующим возможностям этого сервера, включая установление личности, проверку прав доступа и сжатие информации при передаче.
· Два возможных внутренних формата хранилища: база данных или набор обычных файлов.
· Дружелюбность по отношению к разработчикам: Subversion реализована в виде набора динамических библиотек на языке C, API которых хорошо известен. Это делает Subversion чрезвычайно удобной для сопровождения системой, пригодной для взаимодействия с другими приложениями и языками программирования.
· И др.
Дата добавления: 2015-09-07; просмотров: 1371;