Subversion: быстрый старт
Subversion — система управления версиями
Для работы с существующими хранилищами необходим клиент Subversion. → Сертифицированные официальные сборки работают только из командной строки (для загрузки потребуется регистрация на сайте (это быстро)). Альтернативная сборка "Slik SVN" - не хуже официальной, и скачивается без регистрации. Slik SVN, как и официальная сборка, представляет из себя набор утилит командной строки. Для работы с графическим интерфейсом достаточно скачать только TortoiseSVN.
Перевод официальной документации:
- Глава 9 — справочное руководство по командам.
- Глава 7 — описание настроек Subversion (может понадобиться для настройки подключения — прокси и т.п.).
См. также:
- http://tortoisesvn.tigris.org/ — GUI-клиент встраивается в Проводник Windows: добавляются пункты в контекстное меню файлов и каталогов, появляются overlay-картинки, отражающие состояние версионированных файлов. Эти же меню и картинки доступны и в альтернативных файловых менеджерах, например Total Commander. Утилиты командной строки в комплект не входят (и не требуются).
Хранилища
В хранилище размещаются любые данные — исходники, документы и пр. Общий принцип работы:
Файл схемы в архиве для редактора Тышова Г.Н. от 18.04.2009.
Работа с хранилищем
Создание рабочей копии
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. Замечание: в рабочей копии могут присутствовать файлы/каталоги не являющиеся частью хранилища — с ними работаем стандартными командами.
- Создание/правка файлов.
- Удаление файлов/каталогов: svn delete.
- Копирование файлов/каталогов: svn copy.
- Перемещение файлов/каталогов: svn move.
- Создание каталогов: svn mkdir.
- Обзор изменений в рабочей копии: svn status.
- Отмена изменений в рабочей копии: svn revert.
Фиксация изменений в хранилище
svn commit каталог_рабочей_копии -m "Краткое описание выполненной работы"
Если кто-то зафиксировал свои изменения до Вашей фиксации, svn просит сначала обновиться.
Удаление рабочей копии
Просто удалить каталог_рабочей_копии.
Конфликт
Возникает если один файл был изменен одновременно двумя людьми. У выполняющего фиксацию последним:
- фиксация запросит обновление;
- обновление обнаружит конфликт;
- обычно «чужая» версия загружается и сливается (вручную) со «своей»;
- конфликт разрешён.
См. Разрешение конфликтов (при слиянии с чужими изменениями).


