Интернет магазин китайских планшетных компьютеров



Компьютеры - Subversion - Общие сведения

01 мая 2011


Оглавление:
1. Subversion
2. История
3. Общие сведения
4. Основные концепции
5. Использование Subversion
6. Subversion и CVS
7. Внутренняя структура
8. Недостатки
9. Дополнительное программное обеспечение



Возможности

  • Хранение полной истории изменений отслеживаемых объектов в централизованном хранилище, в том числе при изменении атрибутов, перемещении, переименовании и удалении
  • Копирование объектов с разветвлением истории — при копировании в хранилище появляются два отдельных объекта с общей историей
  • Поддержка переноса изменений между копиями объектов, в том числе полного слияния копий
  • Поддержка ветвления:
    • создания ветвей и работы с ними
    • слияние ветвей
  • Поддержка меток
  • История изменений и копии объектов хранятся в виде связанных разностных копий — «дешёвых» при создании и хранении
  • Поддержка конкурентной многопользовательской работы с хранилищем и, в большинстве случаев, автоматическим слиянием изменений различных разработчиков
  • Фиксации изменений в хранилище организуются в виде атомарных транзакций
  • Сетевой обмен между сервером и клиентом предусматривает передачу только различий между рабочей копией и хранилищем
  • Обеспечивается одинаково эффективная работа как с текстовыми, так и с двоичными файлами
  • Различные варианты доступа к хранилищу, в том числе:
    • непосредственный доступ на локальной файловой системе;
    • по собственному сетевому протоколу;
    • через веб-сервер по протоколу WebDAV/DeltaV.
  • Вывод клиента командной строки одинаково удобен и для чтения, и для разбора программами
  • Возможность зеркалирования хранилища
  • Два возможных внутренних формата хранилища: база данных или набор обычных файлов
  • Интернационализированные сообщения программы
  • Библиотеки для языков PHP, Python, Perl, Java позволяют встроить функциональность клиента Subversion в программы, написанные на этих языках
  • Многоуровневая архитектура библиотек, изначально рассчитанная на клиент-серверную модель

Модель работы

Subversion — централизованная система, то есть данные хранятся в едином хранилище. Хранилище может располагаться на локальном диске или на сетевом сервере.

Работа в Subversion мало отличается от работы в других централизованных системах управления версиями. Клиенты копируют файлы из хранилища, создавая локальные рабочие копии, затем вносят изменения в рабочие копии и фиксируют эти изменения в хранилище. Несколько клиентов могут одновременно обращаться к хранилищу. Для совместной работы над файлами в Subversion преимущественно используется модель копирование — изменение — слияние. Кроме того, для файлов, не допускающих слияние, можно использовать модель блокирование — изменение — разблокирование.

При сохранении новых версий используется дельта-компрессия: система находит отличия новой версии от предыдущей и записывает только их, избегая дублирования данных.

При использовании доступа с помощью WebDAV также поддерживается прозрачное управление версиями — если любой клиент WebDAV открывает для записи и затем сохраняет файл, хранящийся на сетевом ресурсе, то автоматически создаётся новая версия.

Типы репозиториев

Subversion предлагает два варианта организации репозиториев. Репозитории первого типа используют для хранения базы данных на основе Berkeley DB, репозитории второго типа — обычные файлы специального формата. Разработчики Subversion часто называют хранилище «файловой системой», поэтому второй тип получил название FSFS, то есть файловая система поверх файловой системы.

Оба типа репозиториев обеспечивают достаточную надёжность при правильной организации, каждая из них обладает своими преимуществами и недостатками. Считается, что FSFS легче правильно настроить, она требует меньшего внимания от администратора. Кроме того, до релиза 1.4 хранилища, использующие Berkeley DB могли при определённых условиях оказаться в так называемом заклиненном состоянии; требовалось вмешательство администратора для восстановления его работоспособности. Начиная с релиза 1.2 для новых хранилищ по умолчанию используется FSFS.

Доступ к репозиторию

Subversion предоставляет следующие способы доступа к репозиторию:

  • прямой доступ к репозиторию на диске
  • удалённый доступ по протоколу WebDAV/DeltaV поверх HTTP с использованием модуля mod_dav_svn для веб-сервера Apache 2
  • удалённый доступ с использованием собственного протокола SVN:
    • на выделенном сетевом соединении
    • через стандартный ввод-вывод

Все эти способы могут быть использованы для работы с репозиториями обоих типов. Для доступа к одному и тому же репозиторию могут одновременно использоваться разные способы.



Просмотров: 8540


<<< Stellarium
Sun Grid Engine >>>