Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Библиотека / Разные источники / Контроль версий (Вики).doc
Скачиваний:
30
Добавлен:
23.03.2015
Размер:
549.38 Кб
Скачать

[Править] Адресация состояния хранилища

В Subversion для адресации состояния хранилища не обязательно создавать метки или использовать дату/время, в простых случаях (например, для получения версии после определенной фиксации) будет проще указать нужный номер ревизии.

[Править] Внутренняя структура [править] Уровни

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

Fs 

Самый низкий уровень; реализует версионированную файловую систему, которая и хранит данные.

Repos 

Уровень хранилища, реализованного на файловой системе. На этом уровне реализовано множество вспомогательных функций, а также поддерживается запуск обработчиков (англ.hooks), то есть скриптов, которые запускаются при наступлении некоторого события. Вместе уровни Fs и Repos составляютинтерфейс файловой системы.

mod_dav_svn 

Обеспечивает WebDAV/Delta-V-доступ через Apache 2.

Ra 

Реализует доступ к хранилищу (и локальный, и удалённый). Начиная с этого уровня на хранилище можно ссылаться по URL, то есть

  • file:///path/для локального доступа,

  • http://host/path/илиhttps://host/path/для доступа через WebDAV, или

  • svn://host/path/илиsvn+ssh://host/path/для доступа через протокол SVN.

Client, Wc 

Самый высокий уровень. Абстрагирует доступ к хранилищу и обеспечивает выполнение типичных задач клиента, таких как аутентификация пользователя или сравнение версий. Client использует библиотеку Wc для управления локальной рабочей копией.

[Править] Конфигурация клиента

Стандартная клиентская утилита Subversion — SVN, конфигурируется переменными окружения и INI-файлами, создаваемыми в домашнем каталоге пользователя в подкаталоге.subversion(расположение конфигурации в Windows-системах, в файлах или реестре, зависит от системных настроек). В конфигурации SVN также кеширует SSL-сертификаты, логины, пароли и т. п. (если это не запрещено в конфигурации) для доступа к серверам Subversion.

Cодержимое каталога .subversion:

  • файл servers— содержит информацию о способах сетевого подключения к удалённому репозиторию;

  • файл config— содержит прочую конфигурационную информацию[37]

  • каталог auth— содержиткешсерверов, сертификатов, логинов и паролей

  • файл README.txt— документация по конфигурированию SVN

[Править] Проблемы при переименовании файлов

Subversion не всегда может правильно обработать операции переименования файлов, если одновременно с переименованием изменяется и содержимое файла. Проблемы могут также возникнуть, если файл, переименованный в локальной копии, кто-то другой изменил в хранилище. Часть этих проблем исправлена в версии 1.5, однако это решение пока не полное.[38]

[Править] Слабая поддержка слияния ветвей

Также слабым местом Subversion считают операции слияния веток. До версии 1.5 все такие операции пользователям приходилось отслеживать вручную, с помощью подробных записей в журнале изменений. Начиная с версии 1.5 появилась базовая поддержка автоматического отслеживания слияний, которую разработчики планируют улучшить в последующих релизах[39]. В настоящее время Subversion достаточно хорошо поддерживает типовые сценарии слияния; в более сложных случаях возможны проблемы. Рекомендуется[40]организовать рабочий процесс так, чтобы избежать проблемных сценариев. Слияние переименованных файлов и директорий не поддерживается.