Система контроля версий SVN
Subversion (SVN) — централизованная система контроля версий с открытым исходным кодом. Она хранит все файлы и полную историю изменений на сервере (хранилище), а разработчики работают с локальной копией, отправляя правки обратно и при необходимости откатываясь к предыдущим версиям. SVN подходит для любых наборов файлов — не только для исходного кода.
Перед тем как переходить к работе с файлами, полезно понимать, как устроен Subversion (SVN) и какую терминологию он использует.
Основная концепция
Section titled “Основная концепция”Хранилище
Section titled “Хранилище”Хранилище (repository) — это центральная база данных Subversion, в которой хранятся все версионируемые файлы и полная история их изменений.
Хранилище обычно располагается на файловом сервере, где установлен Subversion; оно отдаёт данные клиентам (например, TortoiseSVN) по запросу. При резервном копировании важно копировать именно хранилище — в нём находятся все исходные данные.
Рабочая копия
Section titled “Рабочая копия”Рабочая копия (working copy) — это локальная среда разработчика на его компьютере, иногда её называют «песочницей» (sandbox).
Разработчик может получить из хранилища актуальные версии файлов, работать с ними локально, не обращаясь к серверу, и после проверки отправить изменения обратно в хранилище (зафиксировать, commit). В рабочей копии хранится не вся история проекта, а копия файлов из хранилища на момент последнего обновления плюс локальные правки — так проще видеть, что именно изменено.
TortoiseSVN
Section titled “TortoiseSVN”TortoiseSVN — это расширение для проводника Windows, поэтому в меню «Пуск» его нет. Чтобы открыть меню TortoiseSVN, откройте проводник Windows, щёлкните правой кнопкой по папке — в контекстном меню появятся пункты, связанные с SVN.

В подменю 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) вынесены в отдельную статью: Репозитории (сводка).