Создание локального репозитория для проекта
1. Создание рабочей копии.
Сейчас у нас есть проект в нашем хранилище, и нам надо создать рабочую копию для повседневной работы. Заметьте, что импортирование папки не превращает автоматически эту папку в рабочую копию. Для создания свежей рабочей копии в Subversion используется термин Извлечь. Мы собираемся извлечь папку TrueConf_Test_Qt из нашего хранилища в папку для разработки называемую, например: Dev. Создайте эту папку, затем сделайте правый клик на ней и выберите пункт SVN Извлечь.... (рис. 2.8).
Рисунок 2.8 – Создание рабочей копии проекта
Введите URL-адрес для извлечение, в данном случае это будет путь, который вы указали на рис. 2.7, и кликните на OK. Наша папка для разработки заполнится файлами из хранилища.
Вы заметите что внешний вид этой папки отличается от обычной папки. У каждого файла появился зелёный флажок в левом углу. Это значки статуса TortoiseSVN, которые присутствуют только в рабочей копии. Зелёный статус означает, что файл не отличается от версии файла, находящегося в хранилище.
2. Создайте еще одну рабочую копию – Dev2.
Восстановление данных из репозитория
Удалите созданный проект (часть файлов (или все), но не папку) на своем компьютере и обновите проект из репозитория – SVN Обновить (рис. 2.9).
Убедитесь, что удаленные файлы восстановлены.
Рисунок 2.9 – Восстановление данных из репозитоория
Сохранение изменений в репозитории
1. Можно приступать к работе. В папке Dev мы начинаем изменять файлы – предположим, мы вносим изменения в файлы main.cpp и TrueConf_Test_Qt.pro. Обратите внимание, что значки на этих файлах теперь стали красными и показывают, что изменения были сделаны локально.
2. Но какие были изменения? Нажмите правой кнопкой на одном из измененных файлов и выберите команду TortoiseSVN→ Различия. Запустится инструмент TortoiseSVN для сравнения файлов и покажет какие точно строки в файлах были изменены.
3. Ок, нас устраивают изменения, поэтому давайте обновим хранилище. Это действие называется Фиксировать изменения. Нажмите правой кнопкой на папке Dev и выберите команду TortoiseSVN→ Фиксировать. Появится диалог фиксации со списком измененных файлов и напротив каждого будет галочка. Вы можете выбрать лишь несколько файлов из списка для фиксации, но в нашем случае мы будем фиксировать изменения в обоих файлах. Введите сообщение с описанием сделанных изменений и нажмите OK. Появится диалог с прогрессом процесса фиксации файлов в хранилище, и мы закончили фиксацию.
Журнал изменений
Выведите на экран лог изменений файла, в котором было наибольшее количество изменений: TortoiseSVN→ Журнал.
Отобразите на экране сравнение файла до и после внесения одного из изменений.
Контрольные вопросы
1. Для чего при разработке программных систем используются система контроля версий?
2. Какие системы контроля версий вы знаете?
3. Что такое Subversion?
4. Что такое TortoiseSVN?
5. Перечислите основные возможности TortoiseSVN.
6. Перечислите основные возможности Subversion.
7.Что такое репозиторий?
8.Что такое рабочая копия?
9.Опишите механизм контроля версий.