Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Система управления версиями.ppt
Скачиваний:
107
Добавлен:
10.09.2019
Размер:
1.48 Mб
Скачать

Для того, чтобы создать рабочую копию, нужно получить какой-либо из подкаталогов хранилища.

Например, если вы получите /calc, у вас будет рабочая копия наподобие этой:

$svn checkout http://svn.example.com/repos/calc

Acalc/Makefile

Acalc/integer.c

Acalc/button.c Checked out revision 56.

$ls -A calc

Makefile integer.c button.c .svn/

Буквы А говорят о том, что Subversion добавил этот элемент в вашу рабочую копию.

Теперь у вас есть личная копия каталога /calc хранилища, с одним небольшим добавлением - каталогом .svn, содержащим, служебную информацию, необходимую Subversion.

Транзакции

Работа с хранилищем в Subversion организована в форме транзакций со свойствами атомарности и изоляции.

Система управления версиями гарантирует целостность, непротиворечивость и доступность хранилища в любой момент времени.

Атомарность фиксаций (atomic commits) - изменения в нескольких файлах или директориях фиксируются единой транзакцией, порождая при этом одну ревизию.

В случае неудачной фиксации (сбое или ошибка) система гарантирует что хранилище не окажется в частично изменённом состоянии - в хранилище попадут либо все изменения, либо (при неудаче) ни одного.

Изоляция гарантирует, что промежуточные состояния хранилища внутри транзакции не видны другим транзакциям и пользователям. Например, если один пользователь фиксирует одной транзакцией изменения в нескольких файлах, то другие пользователи не могут увидеть такого состояния хранилища, в котором часть файлов уже изменена, а часть - не изменена.

Рабочая копия Subversion, в отличие от хранилища, при сбое может оказаться в промежуточном или заблокированном состоянии.

Клиент командной строки Subversion

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

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

Например, всё нижеприведённое есть правильное использование svn status:

$ svn -v status

$ svn status -v

$ svn status -v myfile

verbose (-v) - выражает просьбу комментировать процесс выполнения операции как можно более детально. Это может привести к выводу дополнительных полей, подробной информации по каждому файлу или более полной информации о выполняемой операции.

Команды svn

Локальные и удалённые формы команд

Все команды клиента Subversion можно разделить на следующие группы:

•модифицирующие рабочую копию;

•модифицирующие хранилище;

•модифицирующие и рабочую копию, и хранилище;

•не модифицирующие ничего.

Типичная итерация рабочего цикла с Subversion:

Обновление рабочей копии из хранилища - svn update.

Создание рабочей копии из хранилища - svn checkout.

Изменение рабочей копии:

- изменения директорий и информации о файлах производится средствами Subversion,

-изменения содержимого файлов производятся текстовыми редакторами, средствами разработки и

т.п. (Subversion никак не задействован).

-новые (еще не зафиксированные в хранилище) файлы и директории нужно добавить - svn acid, то есть передать под управление Subversion.

- если файл или директорию в рабочей копии нужно удалить, переименовать, переместить

или скопировать необходимо использовать: svn mkdir, svn delete, svn move, svn copy;

- просмотр состояния рабочей копии и локальных (ещё не зафиксированных) изменений

svn info, svn status, svn diff;

- любые локальные изменения, если они признаны неудачными, можно откатить svn revert.

- фиксация своих изменений (и/или результатов слияния) в хранилище (svn commit).

Краткий справочник svn

Создание хранилища

svnadmin create – создается новый пустой репозиторий

Синтаксис

svnadmin create REPOS_PATH

Описание

Создается новый пустой репозиторий в указанном месте. Если директорий не существует, то он создается.

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

svn checkout

(svn co)

Синтаксис

 

svn checkout URL[@REV]... [PATH]

Описание

Создает рабочую копию на основе данных из хранилища (извлечение файлов проекта из репозитория).

Изменение файлов и директорий в рабочей копии

svn delete - удаляет объект из рабочей копии или хранилища.

Синтаксис

svn delete PATH...

(svn del)

svn delete URL...

 

Описание

 

Объекты определенные через PATH вносятся в план удаления следующей фиксацией изменений.

Объекты определенные через URL сразу же фиксируются как удаленные.

Соседние файлы в папке Лекции