Контроль версий на основе SVN

В зависимости от типа репозитория он будет доступен через ряд протоколов, включая:

  • Обычный доступ к файлам, который обычно используется для локальных или сетевых репозиториев.
  • Протокол svn, с использованием простого текста или TCP/IP — либо его защищённый svn+ssh эквивалент.
  • Метод http, как правило с использованием WebDAV поверх http — либо его защищённый https эквивалент.

Репозитории Subversion (SVN) подключаются и при необходимости создаются на странице Data Management – Design Repositories page диалогового окна Preferences.

Перед использованием Version Control для проектных проектов необходимо выполнить несколько предварительных шагов. Это:

  • Установить программное расширение VCS Provider – SVN. По умолчанию это расширение устанавливается вместе с Altium Designer. Его можно установить или удалить вручную. Дополнительные сведения об управлении расширениями см. на странице Extending Your Installation (Altium Designer Develop, Altium Designer Agile, Altium Designer).

  • Проверьте, что SVN Version Control включён на странице Data Management – Version Control диалогового окна Altium Designer Preferences.

  • Выберите и/или создайте SVN-репозиторий для проектов и настройте его подключение к Altium Designer.

Управление SVN-репозиториями проектов

SVN-репозитории проектов управляются на странице Data Management – Design Repositories page диалогового окна Preferences. На этой странице можно выполнить ряд действий, включая:

  • Создание новых файловых SVN-репозиториев с использованием возможностей контроля версий, встроенных в Altium Designer.

  • Подключение к существующим SVN-репозиториям.

  • Управление активным состоянием каждого определённого репозитория.

Для каждого зарегистрированного, точнее подключённого, репозитория отображается следующая информация:

  • Name – осмысленное имя репозитория. Оно может, например, отражать проекты, хранящиеся в репозитории. Это имя используется в других местах программы для быстрого выбора репозитория проектов, который нужно использовать, например при открытии проекта из системы контроля версий.
  • Activated – доступен ли репозиторий для использования системой (включён) или нет (отключён). Вновь созданный или подключённый репозиторий по умолчанию будет активирован.
  • Type – тип репозитория; SVN или Git.
  • Repository – URL корневой папки репозитория.
  • Status – успешно ли установлено соединение между Altium Designer и репозиторием () или нет (). Если соединение не удалось, будет показан комментарий с указанием проблемы.

Создание нового SVN-репозитория

Создание новых репозиториев проектов из Altium Designer выполняется на странице Data Management – Design Repositories page диалогового окна Preferences. Нажмите кнопку  и выберите SVN в соответствующем раскрывающемся меню. Появится диалоговое окно Create SVN Design Repository.

Диалоговое окно предоставляет набор параметров конфигурации, позволяющих задать расположение папки репозитория и метод (протокол подключения), а также локальное имя подключения и путь к целевой папке для извлечённых (checked-out) проектных файлов. Обратите внимание, что методы доступа svn и http требуют дополнительной информации, связанной с хост-системой и доступом к ней.

По умолчанию репозиторий будет называться Repository 1. При необходимости измените это на более осмысленное имя. Ограничений на именование нет.
  • Default Checkout Path — это локальная папка, определённая как папка checkout для выбранного репозитория, и извлечённый проект затем связывается со своим соответствием в репозитории VCS. Ссылка VCS указывает системе контроля версий отслеживать и обнаруживать любые различия между файлами в локальной папке checkout и их эквивалентами в папке репозитория VCS.
  • Repository Location может находиться либо на вашем жёстком диске (для личного использования), либо в сетевом расположении (для совместной работы более широкой команды).

После задания всех необходимых параметров нажмите OK. Репозиторий будет создан в указанном месте, и Altium Designer установит к нему подключение. Запись о нём появится в списке репозиториев проектов на странице Data Management – Design Repositories диалогового окна Preferences.

Пример вновь созданного SVN-репозитория проектов, отображаемого в Altium Designer как Local Repository.
Пример вновь созданного SVN-репозитория проектов, отображаемого в Altium Designer как Local Repository.

В настоящее время напрямую из Altium Designer можно создавать только репозитории проектов с методом доступа file. Репозиторий проектов с другим методом доступа (например, сетевой доступ по http или https) можно настроить вне Altium Designer с помощью внешнего инструмента-интерфейса SVN, при условии что этот инструмент включает Apache web server, необходимый для обеспечения метода доступа http. Либо попросите вашего сетевого администратора настроить репозиторий, или воспользуйтесь одним из многочисленных провайдеров размещённых (hosted) репозиториев Subversion. Затем вы сможете подключиться к этому существующему репозиторию из Altium Designer.

Подключение к существующему SVN-репозиторию

В среде совместной работы один или несколько репозиториев проектов могли уже быть созданы в месте, доступном нескольким пользователям. В этом случае вам не нужно создавать новый репозиторий — «изобретать велосипед», — достаточно просто подключиться к нужному существующему репозиторию. Это также актуально, если вы удалили репозиторий из своего списка репозиториев и хотите добавить его обратно.

Чтобы подключиться к существующему репозиторию, на странице Data Management – Design Repositories диалогового окна Preferences нажмите кнопку  и выберите SVN в соответствующем раскрывающемся меню. Появится диалоговое окно SVN Design Repository. Введите имя, под которым репозиторий будет отображаться в Altium Designer, задайте путь checkout по умолчанию, а также укажите метод доступа к репозиторию и путь к корневой папке репозитория. Также можно указать конкретную подпапку внутри репозитория.

После задания всех необходимых параметров нажмите OK — будет установлено соединение, и репозиторий будет готов к использованию.

Подключение к существующему репозиторию — в данном случае это локальный репозиторий на жёстком диске.Подключение к существующему репозиторию — в данном случае это локальный репозиторий на жёстком диске.

Подключение к существующему репозиторию — в данном случае это репозиторий, находящийся внутри серверной установки.Подключение к существующему репозиторию — в данном случае это репозиторий, находящийся внутри серверной установки.

Редактирование свойств репозитория

Вы также можете в любое время редактировать свойства репозитория проектов. Например, может потребоваться изменить имя репозитория, как оно отображается и используется в Altium Designer. Или может понадобиться отредактировать подключение, например чтобы связаться с другим репозиторием. Для этого выберите запись репозитория в списке репозиториев (на странице Data Management – Design Repositories диалогового окна Preferences ), затем нажмите кнопку . Появится диалоговое окно SVN Design Repository (или Git Repository), в котором можно внести необходимые изменения.

Отключение от репозитория

Чтобы отключиться от репозитория проектов, выберите его запись в списке и нажмите кнопку . Репозиторий будет удалён из списка подключённых репозиториев проектов. Сам репозиторий не удаляется — он просто становится отключённым от системы. Чтобы снова использовать репозиторий, подключитесь к нему.

Чтобы запретить использование репозитория проектов, не удаляя его полностью из списка, отключите соответствующую опцию Activated .
Если вы удалили репозиторий проектов, который был добавлен через вход на сервер управляемого контента, вы можете подключиться к нему снова. Либо, что гораздо быстрее, закройте диалоговое окно Preferences, затем выйдите из учётной записи на сервере и войдите снова. Когда вы снова откроете страницу Data Management – Design Repositories диалогового окна Preferences , соответствующий(ие) репозиторий(и) снова будет(ут) присутствовать.

Использование SVN-репозиториев проектов

После определения подключённый характер SVN Design Repository упрощает возможность либо добавить проект в этот репозиторий, либо открыть существующий проект из этого репозитория. Вместо того чтобы помнить путь или «проваливаться» в меню обзора, чтобы выбрать репозиторий, вы просто выбираете нужный репозиторий из удобного списка всех Design Repositories, к которым вы сейчас подключены и которые активированы для использования.

При первом обращении к design repository потребуется ввести учётные данные — например, учётные данные для внешнего VCS‑сервера (например, для design repository, расположенного на VisualSVN Server).

В целом файлы проекта можно добавить в репозиторий системы контроля версий с помощью команд из панелей Projects или Storage Manager, что включает шаги регистрации файлов на добавление, а затем их фиксации (commit) в VCS.

Процесс, показанный ниже, использует панель Projects, которая удобнее «под рукой», но стоит отметить, что панель Storage Manager предоставляет больше деталей и опций VCS.

Добавление локального проекта в SVN Design Repository

Добавление локального design‑проекта (который сейчас не находится под контролем версий) в Design Repository — процесс простой. При открытом проекте используйте команду Add Project Folder To Version Control из панели Projects panel или Storage Manager panel либо из Project » History & Version Control главного меню. Появится диалог Add to Version Control. Поле в верхней части этого диалога содержит выпадающий список всех подключённых и активированных Design Repositories. Выберите нужный репозиторий.

Нажмите кнопку , чтобы быстро перейти на страницу Data Management – Design Repositories page диалога Preferences — если нужно подключить другой SVN‑репозиторий или создать новый.
Когда Altium Designer подключён к Altium 365 Workspace, диалог Add to Version Control предложит сделать выбранный проект доступным онлайн, т. е. добавить его в нативную VCS Workspace. Чтобы продолжить добавление проекта именно в этот SVN‑репозиторий, выберите подключённый SVN‑репозиторий в верхнем выпадающем списке диалога. Нажмите элемент управления Setup custom repository в левом нижнем углу диалога, чтобы перейти на страницу Data Management – Design Repositories page диалога Preferences — если нужно подключить другой SVN‑репозиторий или создать новый.

Иерархия папок внутри выбранного Design Repository отображается в области Folders диалога. Укажите существующую папку, в которую нужно добавить design‑файлы, либо создайте новую папку с помощью кнопки  . Во втором случае папка будет добавлена в указанном месте иерархии папок репозитория и будет названа по имени исходной папки, содержащей проект.

Добавление локального design‑проекта в локальный design repository.
Добавление локального design‑проекта в локальный design repository.

Нажмите , чтобы подтвердить настройки. Затем диалог заполнится записями файлов, полученными из исходной папки, при этом составные файлы проекта будут выбраны — при необходимости используйте флажки, чтобы включить или исключить файлы из добавления. Выберите , чтобы подтвердить выбор — обратите внимание, что записи файлов в панели Projects теперь имеют статус Scheduled for addition (). Это означает, что VCS зарегистрировала файлы для добавления под контроль версий и они готовы к сдаче (Commit) в репозиторий VCS.

Файлы запланированы к добавлениюФайлы запланированы к добавлению

Фиксация (Commit) проекта

Файлы со статусом Scheduled for addition () будут добавлены под контроль версий и в design repository при выполнении Commit. Для этого выберите команду Version Control » Commit Whole Project в контекстном меню (правый клик) панели Projects, чтобы запустить процесс.

Команда Commit Whole ProjectКоманда Commit Whole Project

Следующая версия диалога Add to Version Control позволяет снять выбор с отдельных файлов проекта (или выбрать дополнительные) для включения под контроль версий. Также можно добавить комментарий, который будет включён в предстоящую ревизию VCS.

Включение определённых файлов, добавляемых под контроль версийВключение определённых файлов, добавляемых под контроль версий

Затем проект и входящие в него design‑документы копируются в репозиторий VCS и регистрируются как новая ревизия, а статус файлов в панелях Altium Designer меняется на No Modification ().

После добавления проекта под контроль версий дополнительные файлы можно добавлять и фиксировать по одному, используя одиночные команды Add to Version Control и Commit. Аналогично, отдельные файлы можно по одному удалить из-под контроля версий (но оставить в локальном рабочем проекте) с помощью команды Remove from Version Control.

Создание нового проекта под контролем версий

При создании нового проекта под контролем версий поле Repository в диалоге Create Project dialog содержит выпадающий список всех подключённых и активированных Design Repositories. Выберите нужный репозиторий.

Создание нового design‑проекта под контролем версий — все определённые Design Repositories доступны для использования.
Создание нового design‑проекта под контролем версий — все определённые Design Repositories доступны для использования.

Параметр Local Storage в диалоге Create Project определяет, где хранится рабочая копия проекта. Именно эти файлы открываются и редактируются в Altium Designer и в итоге фиксируются обратно в репозиторий (check‑in) как новые ревизии после завершения правок.

Открытие проекта под контролем версий из SVN Design Repository

Так же просто можно открыть design‑проект под контролем версий, который находится в Design Repository. Используйте команду File » Checkout — появится диалог Check Out. В поле Check out from выберите нужный репозиторий из выпадающего списка всех подключённых и активированных design repositories, доступных вам.

Нажмите кнопку , чтобы быстро перейти на страницу Data Management – Design Repositories page диалога Preferences — если нужно подключить другой репозиторий.

Иерархия папок внутри выбранного Design Repository отображается в области Folders диалога. Используйте эту область, чтобы указать точную папку, которую нужно извлечь (check out) из репозитория.

Используйте поле Check out to, чтобы указать, куда следует выполнить checkout содержимого выбранной папки. Это ваша локальная «песочница».

Выполните checkout существующего design‑проекта под контролем версий из выбранного Design Repository — легко и контролируемо!
Выполните checkout существующего design‑проекта под контролем версий из выбранного Design Repository — легко и контролируемо!

Блокировка файлов SVN‑проекта

SVN VCS поддерживает блокировку файлов — чтобы никакой другой пользователь не мог зафиксировать изменения в заблокированных файлах. Чтобы заблокировать design‑файл проекта в SVN VCS, щёлкните по нему правой кнопкой в панели Projects и выберите команду History & Version Control » Lock (или выберите команду Lock в контекстном меню файла в панели Storage Manager). Заблокированный файл отображается с иконкой  в панелях Projects и Storage Manager.

Файл был заблокирован вами или другим пользователем. Если файл заблокирован вами, другой пользователь не сможет обновить его до новой ревизии в репозитории (если только блокировка не будет принудительно снята). Хотя для обозначения заблокированного файла используется один тип значка, связанный с ним текст будет указывать, кто заблокировал файл — Locked by me или Locked by someone else. Текст VCS также будет указывать комбинированные состояния, например: Modified and locked by me.

Нельзя заблокировать файл, если он устарел.

Чтобы разблокировать документ, который сейчас заблокирован, щёлкните по нему правой кнопкой в панели Projects и выберите команду History & Version Control » Unlock (или выберите команду Unlock в контекстном меню файла в панели Storage Manager). После разблокировки любой пользователь сможет зафиксировать документ с любыми внесёнными изменениями в репозиторий контроля версий.

Очистка (Cleanup) документа

Перед тем как вносятся какие-либо изменения в вашу локальную рабочую копию файла проекта, SVN создаёт своего рода список «что нужно сделать» — действия, которые необходимо выполнить, чтобы безопасно применить изменения. Выполняя эти действия, он устанавливает блокировку на соответствующую часть рабочей копии на время работы. Это предотвращает доступ других клиентов Subversion к рабочей копии в процессе изменения. По завершении блокировка снимается, и Subversion очищает свой внутренний список задач. Однако если операция Subversion прерывается — например, процесс был остановлен или компьютер аварийно завершил работу — внутренний список задач остаётся на диске. Это позволяет SVN позже вернуться к этому списку, завершить незаконченные операции и привести вашу рабочую копию в согласованное состояние.

Команда cleanup, доступная через правый клик по записи документа проекта и выбор History & Version Control » Cleanup или через выбор команды Project » Version Control » Cleanup в главных меню, сканирует вашу рабочую копию и выполняет оставшиеся пункты списка задач, снимая блокировки рабочей копии по мере завершения операций, и в итоге возвращает вашу рабочую копию документа проекта в согласованное состояние.

Если Subversion когда-либо сообщит, что какая-то часть вашей рабочей копии заблокирована, попробуйте выполнить эту команду, чтобы устранить проблему.
AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

Если вы не видите в своем ПО функцию, описанную здесь, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Content