Слайд 2Subversion a.k.a. SVN
Централизованная система управления версиями
Используется для облегчения взаимодействия
разработчиков при работе над большими проектами
Основное применение — хранение файловых
структур текстовых файлов (.txt, .c, .h, .cpp, .xml ...); двоичные файлы (.doc, .pdf, .bmp) также поддерживаются.
Слайд 4Принцип работы SVN
SVN хранит данные в репозитории (хранилище), которое находится
под контролем SVN сервера. Таким образом, вы можете разместить хранилище
как у себя на локальном компьютере, либо где-то удаленно, чтобы любой, кому вы разрешили, мог получить к нему доступ.
Слайд 5Как это помогает при работе
Хранит всю историю изменений всех файлов,
включая удалённые. Позволяет легко просматривать различия между версиями.
При операциях
передаёт лишь изменения файлов, экономя трафик.
Позволяет в большинстве случаев автоматически разрешать конфликты версий.
Обеспечивает атомарность и изоляцию изменений: состояние хранилища всегда корректно.
Слайд 6Чем SVN не является
Распределённым хранилищем: все файлы хранятся только на
одном сервере, клиенты имеют лишь их временную копию.
Файловой системой:
используются нижележащие ФС для хранения файлов.
Базой данных: БД используется лишь сервером для хранения служебной информации.
Веб-сервером: существует несколько способов получения данных с сервера: http, https, file, WebDAV, svn, svn+ssh.
Слайд 7Цикл работы в системе контроля версий
Обновление рабочей копии из хранилища
(svn update) или ее создание (svn checkout).
2. Изменение рабочей
копии.
3. При необходимости — дополнительное обновление, для получения изменений, зафиксированных в хранилище другими пользователями и слияния этих изменений со своими (svn update).
4. Фиксация своих изменений (и/или результатов слияния) в хранилище (svn commit).
Слайд 8Клиенты SVN
Используются непосредственными разработчиками проекта, т.е. всеми нами.
Графические
TortoiseSVN (Windows only)
SmartSVN (Java)
Консольные
CygWin: svn.exe
$ sudo apt-get install subversion
# yum install subversion
# cd /usr/ports/devel/subversion && make install
Слайд 9Базовые операции SVN
Итак, предположим, что у вас есть пустой удаленный
репозиторий SVN. Для того, чтобы приступить к работе с ним,
вы должны воссоздать его содержимое у себя на компьютере, то есть сделать локальную копию репозитория. Эта операция в терминах SVN называется «checkout».
Слайд 10Для работы с SVN используются еще три основные операции:
“update”
“commit”
“add”
Слайд 11“UPDATE”
Обновление состояния репозитория до последней зафиксированной ревизии. Эта функция нужна
тогда, когда с проектом работает несколько человек. Представьте, что вы
садитесь за работу и вам нужно скачать себе на компьютер все изменения, которые сделали за последнее время ваши коллеги. Вот именно в таком случае и делается операция «update».
Слайд 12“COMMIT”
Фиксирование изменений, проделанных с локальной копией в репозиторий, то есть
создание новой ревизии. После того как вы доделали работу, либо
дошли в процессе до какой-либо логической точки, состояние которой вы хотите сохранить, с возможностью отката к ней, вам необходимо сделать «commit».
Слайд 13“ADD”
Добавление нового ресурса в репозиторий. Здесь прошу обратить особое внимание:
все новые файлы и папки, которые еще не находятся в
репозитории следует добавлять вручную, чтобы они попадали в commit, с помощью операции «add».
Слайд 14Заключкение
Вот так, вкратце рассказано об основах работы с SVN. Подробнее
можно будет узнать из других узконаправленных статей. На этом, пожалуй,
все, ибо разговор может затянуться…
Всем приятной работы с SVN…