Subversion: быстрый старт

Subversionсистема управления версиями

Для работы с существующими хранилищами необходим клиент Subversion. → Сертифицированные официальные сборки работают только из командной строки (для загрузки потребуется регистрация на сайте (это быстро)). Альтернативная сборка "Slik SVN" - не хуже официальной, и скачивается без регистрации. Slik SVN, как и официальная сборка, представляет из себя набор утилит командной строки. Для работы с графическим интерфейсом достаточно скачать только TortoiseSVN.

Перевод официальной документации:

  • Главы 1, 2 — крайне желательно просмотреть в качестве введения.
  • Главы 3, 4 — дополнительно.
  • Глава 9 — справочное руководство по командам.
  • Глава 7 — описание настроек Subversion (может понадобиться для настройки подключения — прокси и т.п.).

См. также:

  • http://tortoisesvn.tigris.org/GUI-клиент встраивается в Проводник Windows: добавляются пункты в контекстное меню файлов и каталогов, появляются overlay-картинки, отражающие состояние версионированных файлов. Эти же меню и картинки доступны и в альтернативных файловых менеджерах, например Total Commander. Утилиты командной строки в комплект не входят (и не требуются).

Хранилища

В хранилище размещаются любые данные — исходники, документы и пр. Общий принцип работы:

ДРАКОН-схема работы с хранилищем

Файл схемы в архиве для редактора Тышова Г.Н. от 18.04.2009.

Работа с хранилищем

Создание рабочей копии

svn checkout

svn checkout URL-хранилища/каталог_в_хранилище каталог_рабочей_копии

В каталогах, принадлежащих рабочей копии, лежат служебные каталоги .svn.

Первое обращение

При первом обращении к хранилищу по протоколу https Subversion может выдать ошибку проверки сертификата. Для работы с хранилищем сертификат надо принять; удобнее всего — навсегда (p).

Error validating server certificate for 'URL-хранилища':
...
(R)eject, accept (t)emporarily or accept (p)ermanently? p

Далее потребуются имя пользователя и пароль. Если в командной строке имя пользователя не указано, Subversion берет login ОС. Если логин не совпадает с именем пользователя Subversion, можно ввести пустой пароль, вход будет не удачен, и Subversion спросит имя пользователя.

Authentication realm: <URL-хранилища> Имя хранилища
Password for 'login':
Authentication realm: <URL-хранилища> Имя хранилища
Username: ИмяПользователя
Password for 'ИмяПользователя': ***

Данные аутентификации Subversion сохраняет в своих настройках, повторно вводить их не придётся.

Обновление рабочей копии

svn update.

svn update каталог_рабочей_копии

При обновлении возможен конфликт.

Работа с рабочей копией

Создание новых файлов и правка файлов выполняется соответствующими программами-редакторами. Все прочие действия с файлами/каталогами рабочей копии — посредством команд svn. Замечание: в рабочей копии могут присутствовать файлы/каталоги не являющиеся частью хранилища — с ними работаем стандартными командами.

  • Создание/правка файлов.
  • Добавление новых1) файлов/каталогов: svn add.
  • Удаление файлов/каталогов: svn delete.
  • Копирование файлов/каталогов: svn copy.
  • Перемещение файлов/каталогов: svn move.
  • Создание каталогов: svn mkdir.
  • Обзор изменений в рабочей копии: svn status.
  • Отмена изменений в рабочей копии: svn revert.

Фиксация изменений в хранилище

svn commit

svn commit каталог_рабочей_копии -m "Краткое описание выполненной работы"

Если кто-то зафиксировал свои изменения до Вашей фиксации, svn просит сначала обновиться.

Удаление рабочей копии

Просто удалить каталог_рабочей_копии.

Конфликт

Возникает если один файл был изменен одновременно двумя людьми. У выполняющего фиксацию последним:

  • фиксация запросит обновление;
  • обновление обнаружит конфликт;
  • обычно «чужая» версия загружается и сливается (вручную) со «своей»;
  • конфликт разрешён.

См. Разрешение конфликтов (при слиянии с чужими изменениями).

1) файлы/каталоги в рабочей копии, не являющиеся частью хранилища, будут помечены для добавления в хранилище
© 2005-2019 OberonCore и коллектив авторов.