Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab4.doc
Скачиваний:
20
Добавлен:
02.04.2015
Размер:
712.7 Кб
Скачать

Методические указания к выполнению лабораторных работ по дисциплине «Проектирование информационных систем»

Лабораторная работа№4 «Система версионного контроля Subversion»

Цель работы:

получить навыки работы с системой версионного контроля Subversion.

Содержание отчета:

  • титульный лист;

  • цель работы;

  • задание;

  • перечень использованных svn-команд для каждого пункта задания;

  • примеры использования клиента Tortoise (c экранными формами);

  • дерево ревизий;

Задание

  1. Создать хранилище по схеме ‘g<group_name>_<fio>_project’,

где <group_number> - номер группы

<fio> – фамилия студента,

  1. Репозиторий должен содержать три каталога: trunk, branches и tags.

  • Директория /trunk — основная ветка разработки проекта. В нее вносятся все изменения и исправления ошибок.

  • Директория /tags содержит релизы проекта. Именно из поддиректорий директории /tags исходный код выкладывается на рабочие сервера. 

  • Директория /branches необходима для упрощения внесения больших изменений в код проекта. В ней хранятся ветви разработки. Если человек работает над некоторой подзадачей большого проекта, то он должен создать себе ветку (branch) и время от времени синхронизировать её с директорией trunk. По окончании разработки эта ветка сливается с trank и удаляется.

  1. В директорию trunk добавить 2 каталога: dir1 и dir2. Каталоги dir1 и dir2 должны содержать 3 и 2 не бинарных файла соответственно (к примеру формата cpp, c, java, txt и т.д.). Также обе директории должны содержать по одному подкаталогу dir1_subdirectory и dir2_subdirectory.

  1. Создать 2 ветки для каталога dir1 и 2 ветки для каталога dir2 по схеме ‘g<group_name>_<fio>_<directory_name>_comment’, где <directory_name> - имя каталога

Команды svn

  1. В режиме командной строки создать 2 версии каталога dir1_subdirectory на обеих ветках, добавляя и удаляя произвольные файлы и каталоги

  2. Слить (смержить) последние версии каталога dir1_subdirectory с обеих ветвей на произвольную

  3. В режиме командной строки создать по 3 версии одного и того же файла на обеих ветках

  4. Смержить последние версии файла, выбранного в пункте 7, с обеих ветвей на новую

  5. Удалить одну метку на любой из веток

Tortoise

  1. Средствами Tortoise создать 2 версии каталога dir2_subdirectory на обеих ветках, добавляя и удаляя произвольные файлы и каталоги

  2. Средствами Tortoise смержить последние версии каталога dir2_subdirectory с обеих ветвей на произвольную

  3. Средствами Tortoise создать по 3 версии одного и того же файла на обеих ветках

  4. Средствами Tortoise смержить последние версии файла, выбранного в пункте 12, с обеих ветвей на новую

  5. Средствами Tortoise удалить любую ветвь со всеми метками

Теоретический материал

1. Фундаментальные понятия

1.1 Хранилище

Subversion является централизованной системой для совместного использования информации. В свой основе это хранилище, являющееся центром хранения данных. Хранилище содержит информацию в форме дерева файлов — типичном представлении файлов и каталогов. Любое количество клиентов подключается к хранилищу и читает или записывает эти файлы. Записывая данные, клиент делает информацию доступной для остальных; читая данные, клиент получает информацию от других. Рисунок 1.1, «Типичная клиент/серверная система» иллюстрирует это.

Рисунок 1.1. Типичная клиент/серверная система

Почему мы заостряем на этом внимание? Пока это звучит как определение типичного файл-сервера. И действительно, хранилище является разновидностью файл-сервера, однако не совсем обычного. Что делает хранилище Subversion особенным — это то, что он запоминает каждое внесенное изменение: любое изменение любого файла, равно как изменения в самом дереве каталогов, такие как добавление, удаление и реорганизация файлов и каталогов.

При чтении данных из хранилища клиент обычно видит только последнюю версию дерева файлов. Но клиент также имеет возможность просмотреть предыдущие состояния файловой системы. Например, клиент может запросить такие данные как, «Что содержал этот каталог в прошлую среду?» или «Кто был последним изменявшим этот файл и какие вносились изменения?» Вопросы подобного типа являются основополагающими для любой системы управления версиями — системы, разработанной для записи и отслеживания изменений информации во времени.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]