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

ЗАДАНИЕ

НА ВЫПОЛНЕНИЕ КУРСОВОГО ПРОЕКТА (КУРСОВОЙ РАБОТЫ)

студенту группы

53504/12

Егоров Алексей Сергеевич

(номер группы)

(фамилия, имя, отчество)

1. Тема проекта (работы)

Использование системы контроля версий на

примере Subversion

2. Срок сдачи студентом законченного проекта (работы)

27.12.13

3. Исходные данные к проекту (работе)

Материалы лекций,

шаблон и примеры проектного плана управления конфигурацией

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

Примерный объем пояснительной записки

1

страница машинописного

текста

5. Перечень графического материала ( с указанием обязательных чертежей и

плакатов)

Презентация в PowerPoint, видео в формате avi

6. Консультанты

7. Дата получения задания: «06» 11 2013 г.

Руководитель

А. В. Баранов

(подпись)

(инициалы, фамилия)

Задание принял к исполнению

А. С. Егоров

(подпись)

(инициалы, фамилия)

06.11.2013

Санкт-Петербургский государственный политехнический университет

Институт информационных технологий и управления

Кафедра «Информационные и управляющие системы»

КУРСОВАЯ РАБОТА

Использование системы контроля версий

на примере Subversion

по дисциплине «Управление программным проектом и управление конфигурацией»

Выполнил

студент гр.53504/12 < > Егоров А. С.

Р уководитель

ст. преподаватель < > > > Баранов А. В.

«27» 12 2013 г

Оглавление

Введение 5

История развития Subversion 5

Особенности Subversion 6

Возможности SVN 8

Tortoise SVN 8

Достоинства SVN 10

Недостатки SVN 10

Заключение 10

Список литературы 13

Введение

Что же такое система контроля версий? Каждый программный проект проходит несколько стадий: постановка задачи, поиск вариантов решения, написание кода программы и её отладка, дальнейшая поддержка проекта. При этом многие “неопытные” разработчики вручную фиксируют историю изменений проекта, осуществляют формирование готовых релизов, ветвление проекта. Естественно, что такая работа с изменяющейся информацией чревата путаницей и частыми ошибками. Для автоматизации этой работы и были разработаны системы контроля версий.

Существует достаточно большое количество систем управления версиями файлов: CVS, SVN, Bazzar, Git и т. д. Выбор той или иной системы определяется личными предпочтениями разработчика и его требованиями. Но с точки зрения пользователя все эти системы похожи и решают одну задачу: контроль и управление версиями файлов.

К слову, системы контроля версий могут работать не только с проектами, состоящими из исходников и бинарников, но и с документами и другими информационными объектами. Основные возможности, которые даёт любая такая системы:

  1. Хранение версий программных артефактов(коды, документы)

  2. Мгновенный доступ к любой версии

  3. Обеспечение совместной работы программы

Система контроля версий состоит из серверной части, которая обслуживает Ваш репозиторий и клиентской части, которая помогает нам работать с нашей локальной копией.

Как только Вы внесли какие-либо изменения в локальную копию, и хотите, чтобы они были отражены в проекте в репозитории, выполняем операцию commit, при этом изменения, сделанные Вами в локальной копии отправляются в репозиторий. И, соответственно, когда вы хотите получить изменения, которые сделали другие люди в репозитории, вы делаете update, и всё то, что поменялось в репозитории относительно вашей локальной копии с учётом версии, применится к вашим файлам и катагогам.

История развития Subversion

Начнём с 70-х годов, когда придумали make. Тогда поняли, что бинарники можно было получать автоматически с использованием исходников. Получалось, что не надо было возиться с бинарниками, если при помощи make можно было без проблем их сделать. Хорошо, но а что мы можем сделать с исходниками? Постепенно разработчики заметили, что когда меняем исходники, мы не переписываем их полностью, а пытаемся дополнить то, что уже написано. Возникла идея – а не хранить ли нам эту разность между исходниками.

Так в 1972 году был придуман алгоритм diff, который вычисляет различие в строчках между двумя файлами. В этом же году появилась первая система контроля версий SCCS (Source Code Control System). К 80-му году развили систему SCCS и появилась первая однопользовательская система контроля версий RCS (Revision Control System) на основе алгоритма diff. Как она была устроена?

В каждом подкаталоге заводился некий подкаталог и в нём для каждого файла, который лежал в верхнем подкаталоге был файл, в котором находились все версии, сжатый с помощью алгоритма diff. Были 2 операции: добавить новую версию или вытащить старую. Всё это хранится локально. Не про какую совместную работу и речи не идёт. Также в 80-м году придумали утилиту patch. Допустим у нас есть версия 2 и разница diff между первой и второй версией. Именно, с помощью patch можно было откатиться к первой версии. Заметили, что эта утилита облегчает работу по сети, не надо пересылать кучу исходных файлов, мы можем получить разность, эту разность прислать всем остальным, остальные применят утилиту patch и перейдут к более новой версии.

Через 6 лет после этого начала появлятся CVS, сделанная на основе RCS. Она уже была многопользовательской. В то время сразу же стала распространённой и использовалась практически везде, несмотря на огромное количество других коммерческих систем. У неё были ряд преимуществ, например, можно работать с моделью “копирование-изменение-слияние”, которая считается более удобной, чем которая тогда использовалась на коммерческих продуктах модель: “блокировка, изменение, commit”.

В 2000 году компания Collabnet начала работу над новой системой контроля версий. Они хотели с одной стороны сохранить всё лучшее, что было в CVS, с другой стороны – исправить все ошибки, неудобства, присущие данной системе. В 2004 году была официально выпущена Collabnet. Стоит отметить один интересный факт: 31 августа 2001 года команда разработчиков перешла CVS на Subversion для управления собственным кодом! 200е года – это время появления альтернативного подхода: появились распределённые системы контроля версий: BitKeeper, GNU arch и др. Главное их отличие – у них не было ценрального репозитория, каждый workspace одновременно считается репозиторием. До 2009 года в использовании пользователями всех выигравал SVN, однако возросла популярность распределённых систем контроля версий, особенно GIT и Mercurial.