Skip to content

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

Subversion (SVN) — централизованная система контроля версий с открытым исходным кодом. Она хранит все файлы и полную историю изменений на сервере (хранилище), а разработчики работают с локальной копией, отправляя правки обратно и при необходимости откатываясь к предыдущим версиям. SVN подходит для любых наборов файлов — не только для исходного кода.

Перед тем как переходить к работе с файлами, полезно понимать, как устроен Subversion (SVN) и какую терминологию он использует.

Хранилище (repository) — это центральная база данных Subversion, в которой хранятся все версионируемые файлы и полная история их изменений.

Хранилище обычно располагается на файловом сервере, где установлен Subversion; оно отдаёт данные клиентам (например, TortoiseSVN) по запросу. При резервном копировании важно копировать именно хранилище — в нём находятся все исходные данные.

Рабочая копия (working copy) — это локальная среда разработчика на его компьютере, иногда её называют «песочницей» (sandbox).

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

TortoiseSVN — это расширение для проводника Windows, поэтому в меню «Пуск» его нет. Чтобы открыть меню TortoiseSVN, откройте проводник Windows, щёлкните правой кнопкой по папке — в контекстном меню появятся пункты, связанные с SVN.

Меню TortoiseSVN для неверсированных папок

В подменю TortoiseSVN доступны основные операции: обозреватель хранилища (Repo-Browser), экспорт, создание хранилища, импорт, настройки и справка. Для папки, ещё не связанной с SVN, также доступен пункт SVN Извлечь… (Checkout) — с него обычно начинают получение рабочей копии из существующего хранилища.

Применение SVN при разработке проектов в Uniplant Atomix

Section titled “Применение SVN при разработке проектов в Uniplant Atomix”

В экосистеме Uniplant Atomix Subversion используется как единая система контроля версий для:

  • Хранения и версионирования общих библиотек (модели JSC, HMI, DevStudio, Unimod) и проектов автоматизации
  • Совместной работы — согласованные пути в корне SVN (Libraries, Projects) и в типовом проекте, поэтому все разработчики работают с одними и теми же обозначениями каталогов
  • Связывания проектов с библиотеками через SVN Externals: каталог JSC\Conf ссылается на репозиторий JscGlobalConf; HMI\externals — на общие компоненты Alpha HMI. Модели — JSC. Каталоги types и functions; работа с папкой проекта в репозитории — Unimod 2

Сводные таблицы URL репозиториев (Libraries, Projects, HMI Externals) вынесены в отдельную статью: Репозитории (сводка).


Раздел будет дополнен инструкциями по установке, настройке и типовым операциям с SVN и TortoiseSVN.

Section titled “Раздел будет дополнен инструкциями по установке, настройке и типовым операциям с SVN и TortoiseSVN.”