Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпорка по ТП.docx
Скачиваний:
13
Добавлен:
31.07.2019
Размер:
149.74 Кб
Скачать
  1. Системой контроля версий

Системой контроля версий проектов называется комплекс программного обеспечения, назначением которого является централизованное хранение и обработка всех или большей части файлов, из которых состоит проект некоего программного продукта

Под проектом понимается совокупность файлов, включающая:

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

  • исполняемые, ресурсные и библиотечные файлы, необходимые для сборки программного продукта;

  • исходные тексты файлов справки;

  • сценарии программ инсталляции;

  • сопроводительная документация проекта

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

Схема контроля версий проекта

  1. Модели версионирования

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

Модель Блокирование-Изменение-Разблокирование

Эта модель запрещает одновременное редактирование файла несколькими клиентами. Перед началом редактирования клиент должен заблокировать файл. Тогда доступ к этому файлу других клиентов станет возможен только после снятия блокировки

Пример работы модели

Недостатки модели

  • Требует повышенного внимания службы администрирования ввиду возможности сохранения блокировки при некорректном завершении клиентом редактирования файла

  • Приводит к замедлению процесса разработки из-за частых блокировок, выполняемых и в случаях, когда в этом нет необходимости

  • Блокирование может вызвать ложное чувство безопасности в ситуации, когда два клиента редактируют разные, но зависящие друг от друга файлы

Модель Копирование-Изменение-Слияние

Каждый клиент связывается с хранилищем проекта и создает персональную рабочую копию - локальное отражение файлов и каталогов хранилища. После этого клиенты работают одновременно и независимо друг от друга, изменяя свои личные копии . По завершении редактирования личные копии сливаются в новую, итоговую версию. Обычно система управления версиями помогает в слиянии, но за его корректное выполнение отвечает человек

Пример работы модели

Пользователь Гарри попытался записать в хранилище исправленный им файл А после того, как пользователь Салли уже зафиксировала там свои итоги редактирования этого файла

Система сообщила Гарри, что его файл устарел

Пример работы модели

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

  1. Система конкурирующих версий

Продолжением проекта RCS стала система конкурирующих версий (Concurrent Versions System, CVS), разработанная Диком Груном (Dick Grune) в середине 1980-х годов. CVS использует архитектуру клиент-сервер, в которой вся информация о версиях хранится на сервере.Помимо обработки индивидуальных файлов CVS позволяет управлять группами файлов расположенных в директориях. CVS также позволяет вести несколько линий разработки проекта с помощью ветвей (branches) разработки . Таким образом, можно исправлять ошибки в очередной версии проекта и параллельно разрабатывать новую функциональность

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

Основные преимущества CVS и ее клонов состоят в

  • их высокой надежности;

  • доступности большого количества программных дополнений;

  • наличии документации на различных языках

Основными недостатками системы являются:

  • невозможность сохранения версий каталогов в силу использования специфического способа представления файлов;

  • отсутствие контроля за перемещением, удалением или переименованием файлов

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