Сделать существующий проект доступным в рабочем пространстве
Рекомендуемый и наиболее мощный способ работы с проектами — создать новый проект непосредственно в подключенном Workspace. Если у вас уже есть существующий проект, вы можете перенести его в Workspace, сделав его доступным онлайн и выбрав включение формального контроля версий. В обоих случаях проект будет храниться и управляться через встроенную в Workspace систему контроля версий (VCS). Это дает вам полный набор возможностей при работе с проектом в Altium Designer. Размещение проекта под полным управлением VCS Workspace — единственный способ предоставить доступ к этому проекту нескольким людям для редактирования через Altium Designer (при условии, что они являются участниками Workspace) и воспользоваться дополнительными возможностями платформы, такими как отслеживание истории и расширенный совместный доступ к проекту.
Чтобы сделать существующий проект (локальный или проект, который сейчас находится под внешним контролем версий) доступным в Workspace — либо как зеркальный проект (Simple Sync) в Altium 365 Workspace, либо как проект под встроенным Git-контролем версий Workspace — откройте проект как обычно в Altium Designer, затем щелкните правой кнопкой по его записи в панели Projects panel и выберите Make Project Available Online в контекстном меню, получив доступ к диалогу Make Available Online. При использовании Enterprise Server Workspace команда Make Project Available on Server открывает диалог Make Available On Server.

Сделайте существующий локальный проект доступным в Workspace, по сути «зарегистрировав» его в Workspace и создав его «зеркало».
Options and Controls of the Make Available Online Dialog
-
Project Name – имя проекта в Workspace. По умолчанию будет использовано имя исходного проекта.
-
Description – введите желаемое описание проекта.
-
Version Control – установите этот параметр, чтобы добавить локальный проект в собственный встроенный VCS Workspace (Git). Если этот параметр снят, файлы проекта будут просто храниться в Workspace для базового доступа и для предоставления общего доступа другим пользователям только для просмотра и комментирования — своего рода менее формальный Simple Sync. Рекомендуется включить формальный контроль версий, поскольку это дает доступ к максимальной функциональности, предоставляемой Workspace и платформой Altium 365. Этот параметр доступен только если проект в данный момент не находится под контролем версий.
-
Migrate to Altium 365 Versioned Storage – включите этот параметр, чтобы мигрировать проект, использующий внешний VCS, в проект под полным управлением VCS Workspace. Такой проект сможет воспользоваться возможностями встроенного VCS Workspace. Этот параметр доступен только если проект в данный момент находится под внешним VCS.
-
Advanced – нажмите, чтобы получить доступ к дополнительному параметру.
-
Folder – это поле используется для указания, где в структуре папок Workspace должна быть создана папка для мигрируемого проекта. Путь по умолчанию для новых проектов задается на странице Admin – Settings – Projects в браузерном интерфейсе Workspace (по умолчанию это будет
Projects\<ProjectName>). Нажмите
, чтобы открыть диалог Choose Folder — это упрощенная версия панели Explorer panel, где при необходимости можно просмотреть и выбрать другую папку на сервере.
-
Options and Controls of the Make Available On Server Dialog
- Project Name – имя проекта в Workspace. По умолчанию будет использовано имя исходного проекта.
- Description – введите желаемое описание проекта.
- Migrate to Altium Versioned Storage – включите этот параметр, чтобы мигрировать проект, использующий внешний VCS, в проект под полным управлением VCS Workspace. Такой проект сможет воспользоваться возможностями встроенного VCS Workspace. Этот параметр доступен только если проект в данный момент находится под внешним VCS.
-
Advanced – нажмите, чтобы получить доступ к дополнительным параметрам.
-
Repository – это раскрывающееся меню (если присутствует) перечисляет все репозитории разработки, управляемые через Version Control Service Workspace, и предоставленные вам для использования. Выберите репозиторий, в котором будут храниться новый проект и его файлы — по умолчанию доступен один Git-репозиторий (
Versioned Storage).Также доступно дополнительное поле Repository Folder для указания или выбора альтернативной целевой папки внутри самого репозитория. Нажмите
, чтобы открыть диалог Add to Version Control, где можно перейти к нужному месту и создать требуемую структуру папок внутри репозитория.
-
Folder – это поле используется для указания, где в структуре папок Workspace должна быть создана папка для мигрируемого проекта. Путь по умолчанию для новых проектов задается на странице Admin – Settings – Projects в браузерном интерфейсе Workspace (по умолчанию это будет
Projects\<ProjectName>). Нажмите
, чтобы открыть диалог Choose Folder — это упрощенная версия панели Explorer panel, где при необходимости можно просмотреть и выбрать другую папку Workspace.
-
Используйте диалог Make Available Online, чтобы изменить Name проекта и добавить Description. По умолчанию будет использовано имя исходного проекта.
Установите параметр Version Control, чтобы добавить проект под собственный встроенный VCS Workspace (Git). Если этот параметр снят (только для Altium 365 Workspace), файлы проекта будут просто храниться в Workspace для базового доступа и для предоставления общего доступа другим пользователям только для просмотра и комментирования — схема Simple Sync arrangement. Рекомендуется включить контроль версий, поскольку это дает доступ к максимальной функциональности, предоставляемой Workspace и платформой Altium 365. Обратите внимание: возможность зеркалирования проекта в Workspace (Simple Sync) доступна только при подключении к Altium 365 Workspace.
Нажмите ссылку Advanced в диалоге, чтобы отобразить поле Folder. Это поле используется для указания, где в структуре папок Workspace должна быть создана папка для зеркального проекта. Путь по умолчанию для новых проектов задается на странице Admin – Settings – Projects в браузерном интерфейсе Workspace (по умолчанию это будет Projects\<ProjectName>). Нажмите кнопку
, чтобы при необходимости просмотреть и выбрать другую папку Workspace.
После задания требуемых свойств перехода проекта в Make Available Online диалоге нажмите OK. Для проекта, который не находится под внешним контролем версий и при публикации онлайн (в Workspace Altium 365 был отмечен параметр Version Control ), проект и файлы будут зафиксированы (committed) и отправлены (pushed) в репозиторий проектирования Versioned Storage Workspace. После этого панель Projects panel отобразит полностью синхронизированное состояние между репозиторием проектирования Workspace и локальным (рабочей копией) репозиторием, что обозначается соответствующими значками
. Проект становится полноценным проектом Workspace — не просто «зарегистрированным» в Workspace, а действительно зафиксированным и находящимся под контролем версий Workspace. Любые изменения, внесённые в проект, необходимо сохранять (commit/push) обратно в репозиторий в Workspace.
Ограничения при использовании существующего внешнего репозитория контроля версий
Как упоминалось ранее, ваши локальные проекты могут уже отслеживаться существующей внешней системой контроля версий (Git, SVN, EPDM и т. п.). При использовании Workspace Altium 365 вы можете продолжать работать по этой схеме, как и раньше, и просто сделать проекты доступными в Workspace, зарегистрировав их в этом Workspace — с помощью функции Make Project Available Online.
В этом режиме каждый раз, когда вы вносите изменения в проект и фиксируете (commit) эти изменения во внешнем VCS-репозитории, данные проекта будут зеркалироваться в Workspace в фоновом режиме, и вся необходимая обработка будет выполняться как обычно — предпросмотр, where used и т. д. Однако следует учитывать ряд ограничений:
- Создание нового проектного дизайна по-прежнему должно следовать прежнему процессу, т. е. проект вручную создаётся во внешней VCS-системе. Затем проект регистрируется и зеркалируется в Workspace с помощью функции Make Project Available Online.
-
Если изменения в проекте сделаны, но commit/push выполняется внешними инструментами, а не через Altium Designer, то эти изменения не появятся для зеркалируемого проекта в Workspace. Это исправляется при следующем открытии проекта в Altium Designer, который автоматически синхронизирует локальный проект с зеркальной версией в Workspace. Если изменения были внесены другим пользователем, то при повторном открытии файлы проекта будут отображаться как
Out Of Dateи могут быть исправлены с помощью команды контроля версий Update. - Открытие проекта вторым пользователем потребует доступа к этому внешнему VCS-репозиторию.
- Управление правами придётся настраивать/поддерживать в двух местах — в Workspace и в первоисточнике (во внешнем VCS-репозитории Git/SVN и т. п.).
- Некоторые функции, поставляемые через платформу Altium 365, работают только при размещении проекта под нативной системой контроля версий Workspace. Если оставлять проект под внешней системой контроля версий, то такие функции, по мере их появления на платформе, будут вам недоступны. Вы можете перейти с внешней VCS на нативную VCS Workspace — см. следующий раздел с процедурой выполнения этого перехода.
Работа с GitHub
Использование платформы GitHub platform в качестве внешней системы контроля версий (VCS) — популярный способ размещения и совместного использования проектных данных, и Git-репозитории поддерживаются в Altium Designer. Как описано выше для Workspace Altium 365, существующую схему с внешней VCS можно синхронизировать (зеркалировать) с Workspace, что позволяет воспользоваться его расширенными возможностями управления данными и совместной работы.
То, как вы обычно работаете непосредственно с GitHub, будет различаться в зависимости от корпоративных практик или просто от доступных вам Git-инструментов. В целом же проект создаётся в локальном Git-репозитории и затем отправляется (Push) в удалённый репозиторий GitHub, либо существующий проект клонируется (Clone) из GitHub в локальный репозиторий. После размещения в локальном Git-репозитории проект можно открыть в Altium Designer для редактирования — программа распознает и будет использовать локальный/удалённый репозитории GitHub.
Если проект на базе Git зеркалируется в Workspace Altium 365 (Make Project Available Online), им можно управлять и работать с ним в Altium Designer так же, как с любым другим проектом, хранящимся в Workspace. В этой схеме Workspace по-прежнему предоставляет все преимущества своей системы управления проектами и при этом прозрачно взаимодействует с GitHub для выполнения основных VCS-действий — commit, push, pull и т. д. Altium Designer запросит ваши учётные данные GitHub и сохранит их для последующих взаимодействий с GitHub.
Протоколы GitHub
Хотя Git VCS предлагает ряд protocols передачи данных, в настоящее время Altium Designer поддерживает только протокол HTTP/HTTPS для соединений между локальным Git-репозиторием и его удалённым master-репозиторием. На практике используемый протокол задаётся префиксом URL, указанным для подключения к удалённому репозиторию — https://<remote repository>, ssh://<remote repository>, git://<remote repository> и т. д.
GitHub поддерживает протоколы SSH и HTTPS и рекомендует использовать HTTPS URL для подключений.
► См. Which remote URL should I use? на GitHub для получения дополнительной информации.
Если ваша внешняя VCS-система привязана к протоколу, отличному от HTTPS, например к SSH-подключению GitHub, то этот протокол будет предустановлен в репозитории, который был клонирован с удалённого. Поскольку этот протокол несовместим с Altium Designer, при попытке интегрировать проект с Altium Workspace будет выдана ошибка. Для SSH-подключения вам будет предложено попытаться обновить этот репозиторий так, чтобы вместо него использовался поддерживаемый протокол HTTPS (при условии, что сам репозиторий поддерживает этот протокол). Если вы не уверены, какой протокол remote URL используется для локального Git-репозитория, это можно проверить с помощью команды git remote – v.
Используйте интерфейс командной строки Git Bash, чтобы проверить настройку remote URL репозитория.
Репозиторий можно перенастроить на другой URL, например на протокол HTTPS для обеспечения совместимости с Altium Designer, с помощью команды git remote set-url <name> <URL>, где префикс URL задаёт тип протокола.
Изменение протокола URL подключения к удалённому репозиторию и последующее подтверждение командой remote.
Переход с внешней VCS на нативную VCS Workspace
При подключении к Workspace Altium 365 Altium Designer также предоставляет возможность корректно migrate проекты, использующие внешнюю VCS, в полностью управляемый проект Workspace, который размещает файлы проекта в собственном Git-репозитории. Преобразованный проект, который сохранит прежнюю историю VCS-коммитов, затем сможет воспользоваться нативными VCS-возможностями Workspace, такими как advanced project sharing, единая аутентификация и event-based History timeline.
Функция миграции VCS проекта поддерживает внешние системы контроля версий Git и SVN и доступна при публикации локального файлового проекта онлайн, либо при повышении статуса зеркалируемого (только синхронизируемого) проекта до проекта под собственной Git VCS Workspace.
Чтобы просто мигрировать проект, который хранится под внешним контролем версий, щёлкните правой кнопкой по имени проекта на панели Projects panel и выберите параметр Make Project Available Online в контекстном меню, либо выберите Project » Make Available Online в главном меню. В следующем диалоге Make Available Online установите флажок Migrate to Altium 365 Versioned Storage и подтвердите операцию (OK).
Включённый параметр Migrate to Altium 365 Versioned Storage фактически приводит к замене внешнего VCS-репозитория на Git-репозиторий Workspace, преобразует проект в проект, хранящийся и управляемый в Workspace Altium 365, и, где это возможно, переносит историю коммитов из внешней VCS. Обратите внимание: если параметр миграции оставить выключенным, проект будет зеркалироваться в Workspace (схема Simple Sync), при этом внешний репозиторий сохраняется как хранилище VCS.
Чтобы перенести локальный VCS-проект в полностью управляемый VCS-проект в вашем Workspace Altium 365, установите флажок параметра миграции VCS при публикации проекта онлайн.
Диалоговое окно Migrate Project откроется и предупредит вас о том, что проект будет перенесён под полное управление VCS рабочей области (Workspace). Нажмите кнопку Browse , чтобы выбрать папку на жёстком диске, где будет создан новый локальный репозиторий проекта (на базе git). Нажмите кнопку Migrate , чтобы продолжить миграцию.

Диалоговое окно Migrate Project
После выполнения подсказок (включая создание финального коммита VCS) проект окажется под контролем версий в Git-репозитории Workspace. История коммитов внешней VCS и её комментарии/сообщения переносятся в новый VCS‑проект Workspace, к которому можно получить доступ в Altium Designer через представление History view — щёлкните правой кнопкой мыши по имени проекта в панели Projects и выберите команду History & Version Control » Show Project History.
После миграции внешняя история коммитов проекта (показана слева) переносится в представление History в Altium Designer (справа).
Если проект во внешней VCS уже управляется в Altium 365 Workspace как mirrored project (синхронизированные локально‑серверные файлы), его VCS‑файлы можно перенести в нативный Git‑репозиторий сервера с помощью команды Migrate to Altium Versioned Storage, доступной из Project History view, диалога Project Options dialog или контекстного меню (по правому клику) панели Projects panel's History & Version Control.
VCS‑проект, который был синхронизирован с вашей Workspace (зеркалирован в неё), мигрируется с использованием опции Migrate Project to Altium Version Control.
Совместная работа после миграции
-
Когда участник команды Workspace мигрировал проект в Altium Versioned Storage, необходимо убедиться, что остальные соавторы подключились к командной Workspace, а затем обновили свои локальные (рабочие) копии проекта. Это отображается в панели Projects значком
(Out of Date), связанным с файлом проекта, и выполняется командой Project » History & Version Control » Update Whole Project.
- После обновления мигрированного проекта Altium Designer предложит обновить ссылки на новый репозиторий, пересобрав локальную рабочую папку проекта. Выберите рекомендуемый вариант в диалоге Fix version control link, чтобы завершить локальное обновление проекта.
- Обратите внимание: если соавтор проекта not подключится к командной Workspace, а затем выполнит коммит изменений проекта в VCS, эти изменения продолжат регистрироваться во внешнем репозитории и, следовательно, будут рассинхронизированы с мигрированным VCS‑проектом Workspace.
- Во время миграции Altium Designer выполняет коммит в исходный репозиторий, чтобы установить отметку‑уведомление — благодаря этому другие экземпляры Altium Designer у участников команды смогут распознать, что проект был мигрирован.
Manually migrating a project from External VCS to Workspace VCS
В некоторых случаях может быть желательно вручную мигрировать проект, использующий внешний VCS‑репозиторий, в проект, полностью управляемый в Altium Workspace и его нативном Git‑репозитории VCS. Это можно сделать, создав снимок (snapshot) проекта, который отключит его от внешней VCS и от Workspace (если он уже был опубликован там), а затем снова опубликовав его в Workspace, но уже под управлением VCS Workspace — фактически начав «с чистого листа». Для этого выполните процедуру ниже:
- Отключите (удалите) проект от внешней системы контроля версий. Это можно сделать через внешний инструмент/интерфейс для вашей текущей VCS или через Altium Designer. В последнем случае, хотя команды для удаления проекта из-под контроля версий есть и в панели Projects panel, и в панели Storage Manager panel, наиболее «чистый» способ — использовать Project Packager. Использование Project Packager создаст снимок проекта без «багажа» контроля версий и, если вы ранее публиковали проект в Workspace, удалит ссылки на проект в Workspace.
- Распакуйте «очищенный» проект из Zip‑архива, созданного Project Packager.
- Откройте проект в Altium Designer — обратите внимание, что он не является управляемым (если ранее был) и не находится под контролем версий. Следовательно, это «чистый», неуправляемый проект.
-
Следующий шаг нужен только если вы ранее публиковали проект в Workspace. Процесс упаковки отвязал проект, но зеркалированный проект в Workspace остаётся нетронутым. Сначала следует удалить проект на стороне сервера. Откройте браузерный интерфейс Workspace (через Altium 365 Platform Interface). На странице Projects щёлкните, чтобы выбрать проект для удаления, затем нажмите элемент управления
и выберите команду Delete в контекстном меню.
- Теперь снова опубликуйте проект онлайн в Workspace. Для этого щёлкните правой кнопкой мыши по его записи в панели Projects panel и выберите Make Project Available Online в контекстном меню, чтобы открыть диалог Make Available Online. Убедитесь, что включена опция Enable Formal Version Control, поскольку именно она добавляет проект под управление встроенной VCS Workspace (Git).
Переход с SVN Workspace на Git Workspace
Когда Altium Designer подключен к Workspace на базе Enterprise Server и проект разработки хранится в репозитории SVN, управляемом через Version Control Service Workspace, вы можете перенести этот проект из репозитория SVN во встроенный Git-репозиторий Workspace (Versioned Storage). Для этого щелкните правой кнопкой мыши по записи проекта на панели Projects и выберите в контекстном меню команду History & Version Control » Migrate Project to Altium Versioned Storage. Либо нажмите кнопку Migrate to Server Versioned Storage в диалоговом окне Project Options.
После выполнения подсказок, включая выполнение финального коммита в VCS, проект будет перенесен под систему контроля версий Git-репозитория Workspace.
Управление синхронизацией проекта
После того как локальный проект станет доступен в Workspace Altium 365, управление его доступностью онлайн и синхронизацией выполняется на вкладке General tab диалогового окна Project Options.

Параметры и элементы управления, относящиеся к публикации проекта онлайн, представлены на вкладке General диалогового окна Project Options.
Используйте параметр в области General этой вкладки, чтобы изменить описание проекта. Это влияет только на зеркальную копию проекта внутри Workspace.
В области Online Availability and Synchronization вкладки параметр Version Control отражает текущий режим доступности онлайн:
- Option Enabled – проект (и его исходные файлы) хранятся в собственной нативной VCS Workspace (Git). Это рекомендуемый подход, поскольку он обеспечивает доступ к максимальному набору функций, предоставляемых Workspace и платформой Altium 365.
- Option Disabled – файлы проекта хранятся в Workspace для базового доступа и чтобы можно было делиться ими с другими только для просмотра и комментирования — схема Simple Sync.
При необходимости используйте этот параметр, чтобы переключаться между двумя режимами.
Если вы хотите остановить синхронизацию между локальным проектом и его управляемой версией, опубликованной в Workspace, нажмите кнопку
. Появится окно Turn off project synchronization. Выберите параметр Unlink , затем нажмите OK в диалоговом окне Project Options. Локальный проект больше не будет связан с проектом в Workspace.
После сохранения локального проекта это отразится на панели Projects panel: проект будет показан в активной группе проектов (*.DsnWrk), а не как запись под активным Workspace. Сохранение требуется, поскольку ссылки на проект в Workspace удаляются из файла проекта.
Проект в Workspace остается без изменений — этим действием он не удаляется.
Вы можете разорвать связь между локальным проектом и его экземпляром, опубликованным в Workspace.
При необходимости вы всегда можете снова сделать локальный проект доступным онлайн — как зеркальный или как полноценный VCS-проект (Version Control). На вкладке General диалогового окна Project Options будет доступна кнопка
, с помощью которой открывается диалоговое окно Make Available Online.
Локальный проект также можно опубликовать онлайн — в Workspace — с вкладки General диалогового окна Project Options.