Subversion

Subversion
Логотип Subversion
Тип система управления версиями
Разработчик CollabNet, Inc.
ОС Linux, Windows, Mac OS X, FreeBSD
Текущая версия 1.4.2 — 7 ноября 2006
Лицензия Аналог Apache/BSD
Сайт Домашняя страница Subversion

Subversion[1] — свободно распространяемая система управления версиями с открытым кодом. Subversion разработана специально для замены CVS, самой распростанённой открытой системы управления версиями. Она обладает всеми основными функциями CVS (хотя некоторые из них выполняет другими способами) и лишена ряда её недостатков.

Subversion часто называют «svn», по названию клиентской программы, входящей в её дистрибутив.

Содержание

Общие сведения

Subversion — централизованная система. Данные хранятся в едином хранилище. При сохранении новых версий используется дельта-компрессия, т. е. система находит отличия новой версии от предыдущей и записывает только их, избегая ненужного дублирования данных. Хранилище может располагаться на локальном диске или на сетевом сервере. К локальному хранилищу клиент Subversion обращается непосредственно. Для доступа к удалённому серверу может использоваться собственный сетевой протокол, или стандартный протокол WebDAV, поддерживаемый с помощью специального модуля для веб-сервера Apache.

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

Отличия от CVS

  • Subversion отслеживает версии не только файлов, но и каталогов.
  • Если изменения сделаны в нескольких файлах и каталогах, они публикуются атомарно. Это значит, что либо в хранилище попадают все изменения, либо состояние хранилища не изменяется.
  • При любых обновлениях версий, между клиентом и сервером передаются только различия между файлами.
  • Subversion поддерживает копирование, перемещение и переименование файлов с сохранением истории изменений.
  • С каждым файлом и каталогом может быть связан произвольный набор свойств, состоящих из названия и значения. Свойства тоже находятся под управлением версиями.
  • Subversion одинаково эффективно работает как с текстовыми, так и с двоичными файлами.
  • Начиная с версии 1.2, поддерживается необязательная блокировка файлов.
  • В Subversion нет меток (tag) и веток (branch), как таковых (см. Словарь). Вместо них используется иерархия каталогов — для каждой ветки или метки создаётся отдельный каталог. Создание таких каталогов — быстрая и дешёвая операция, потому что данные не дублируются, вместо этого публикуется новая версия, отличающаяся от предыдущей лишь расположением файлов.

Использование

Хотя, по состоянию на 2006 год, Subversion уступает по распространённости CVS, её можно назвать наиболее популярной альтернативой этой традиционной системе. Многие сообщества разработчиков открытого программного обеспечения перешли на использование Subversion. В их числе такие известные проекты как Apache Software Foundation, KDE, GCC, MediaWiki, Python, Samba, Mono и многие другие.

Примечания

  1. Sub- (под-) + version (версия). В то же время, англ. subversion — «свержение».

Ссылки

Документация

Клиенты и плагины

Публичные хранилища SVN

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home