Работа с проектным репозиторием
Главная страница: Контроль версий и проектные репозитории
Наилучшим подходом к работе с набором исходных файлов является хранение проекта в управляемой среде, такой как репозиторий системы контроля версий. Это важно, поскольку единственным способом обеспечить получение выходных данных из корректных исходных файлов является:
- Обеспечение актуальности набора файлов.
- Создание их слепка.
- Формирование выходных данных из этого слепка.
В Altium Designer, такой репозиторий называется проектным репозиторием (Design Repository). Проектный репозиторий, которым владеет группа проектировщиков, содержит в себе подробную историю процесса проектирования, и он является основным средством совместной работы этой группы проектировщиков.
Проектный репозиторий становится центральным репозиторием, из которого участники проектирования могут извлекать данные и в который они могут выгружать данные, с поддержкой полной истории ревизий всех изменений, совершенных над проектом. Таким образом, проект хранится в качестве набора версий входящих в его состав проектных и исходных документов, что формирует картину развития конструкторского замысла. Используя проектный репозиторий под контролем версий, вы можете быть уверены, что никакая ревизия проекта не будет утеряна, и это позволяет осуществлять безопасную совместную работу над одним проектом между участниками группы, которая может быть географически распределена. Сущность системы контроля версий обеспечивает контрольный анализ процесса проектирования. Полная отслеживаемость формируется благодаря прозрачности того, кто внес изменения, что было изменено, в каком документе и когда. Система может поддерживать множество проектных репозиториев под контролем версий, где ссылка на определенный репозиторий задается контролем версий в папке проекта.
Поддержка контроля версий
Связанные страницы: Контроль версий и проектные репозитории, Использование контроля версий
Программное обеспечение для контроля версий, используемое для реализации самих репозиториев, поддерживается следующими способами:
- Через Altium Designer – использование встроенной в систему поддержки Subversion (SVN). Функциональные возможности Subversion, включенные для использования по умолчанию, доступны благодаря дополнительному программному модулю VCS Provider - SVN. Этот модуль установлен по умолчанию, и функциональные возможности контроля версий доступны через использование SharpSVN. Эта реализация имеет полную поддержку символов Unicode в именах файлов. Это, например, позволяет добавлять в репозиторий SVN файлы, имена которых включают в себя русские символы. Вы также можете подключить и использовать существующий репозиторий Git, поддержка которого обеспечивается дополнительным программным модулем VCS Provider - Git.
- Через Altium 365 Workspace – при подключении Workspace предоставляется локализованный (и централизованный) контроль версий, обеспечиваемый единым Git-репозиторием Workspace –
Versioned Storage
– для размещения всех управляемых проектов. - Через самоуправляемый Altium Concord Pro – при входе в самоуправляемый Altium Concord Pro предоставляется локализованный (и централизованный) контроль версий, обеспечиваемый службой Local Version Control Service сервера. Новая установка самоуправляемого Altium Concord Pro предлагает один проектный репозиторий Git –
Versioned Storage
– для размещения всех управляемых проектов.
- Через Altium NEXUS – использование встроенной в систему поддержки Subversion (SVN). Функциональные возможности Subversion, включенные для использования по умолчанию, доступны благодаря дополнительному программному модулю VCS Provider - SVN. Этот модуль установлен по умолчанию, и функциональные возможности контроля версий доступны через использование SharpSVN. Эта реализация имеет полную поддержку символов Unicode в именах файлов. Это, например, позволяет добавлять к репозиторий SVN файлы, имена которых включают в себя русские символы. Вы также можете подключить и использовать существующий репозиторий Git, поддержка которого обеспечивается дополнительным программным модулем VCS Provider - Git.
- Через NEXUS Server – при входе в NEXUS Server (который является составной частью решения Altium NEXUS) предоставляется локализованный (и централизованный) контроль версий, обеспечиваемый службой Local Version Control Service сервера. Сервер новой установки Altium NEXUS предлагает один проектный репозиторий Git –
Versioned Storage
– для размещения всех управляемых проектов.
Управление проектными репозиториями
Управление проектными репозиториями осуществляется на странице Data Management - Design Repositories диалогового окна Preferences. На этой странице вы можете выполнить ряд действий, в том числе:
- Создание новых файловых репозиториев SVN с помощью функциональных возможностей контроля версий, встроенных в Altium Designer.
- Подключение к существующим репозиториям SVN.
- Просмотр репозиториев, опубликованных для использования с помощью локальной службы Version Control Service сервера управляемых данных, в который вы вошли.
- Управление состоянием активности определенных репозиториев.
Страница Data Management - Design Repositories – центр управления проектными репозиториями VCS в Altium Designer. На изображении показано подключение к репозиторию Git по умолчанию (Versioned Storage
), доступному при подключении к Altium 365 Workspace или при входе в самоуправляемый Altium Concord Pro.
Страница Data Management - Design Repositories – центр управления проектными репозиториями VCS в Altium NEXUS. На изображении показано подключение к репозиторию Git по умолчанию (Versioned Storage
), доступному при входе в NEXUS Server (сервер, который является составной частью решения Altium NEXUS).
Для каждого зарегистрированного (т.е. подключенного) репозитория предоставляется следующая информация:
- Name (Имя) – осмысленное имя репозитория. Оно может, например, отражать проекты, которые хранятся в репозитории. Это имя везде используется в системе для быстрого выбора проектного репозитория для использования, например, при открытии проекта из контроля версий.
- Activated (Активирован) – указывает, доступен репозиторий для использования системой (включено) или нет (отключено). Созданный или подключенный репозиторий будет активирован по умолчанию.
- Type (Тип) – тип репозитория:
SVN
илиGit
. - Repository (Репозиторий) – URL-адрес к корневой папке репозитория.
- Status (Состояние) – указывает, задано ли подключение между Altium Designer и репозиторием успешно (
) или нет (
). Если подключение не задано успешно, будет отображен комментарий, указывающий на проблему.
Создание нового репозитория через Altium Designer
Создание нового репозитория в Altium Designer осуществляется на странице Data Management - Design Repositories диалогового окна Preferences. Нажмите кнопку и выберите SVN из выпадающего меню. Будет открыто диалоговое окно Create SVN Design Repository. Используйте его, чтобы задать осмысленное имя репозитория, указать путь извлечения по умолчанию и расположение репозитория. Если указана папка, которая в данный момент не существует, она будет создана.
После определения настроек необходимым образом нажмите OK. Репозиторий будет создан в указанном расположении, и будет установлено подключение к нему из Altium Designer. Запись репозитория будет отображена в списке на странице Data Management - Design Repositories диалогового окна Preferences.
Пример созданного проектного репозитория SVN, отображенный в Altium Designer как Local Repository
.
Создание репозитория через Altium Concord Pro – только для самоуправляемого сервера
Связанная страница: Altium Concord Pro - Служба Version Control
При использовании самоуправляемого Altium Concord Pro в качестве сервера управляемых данных, репозитории SVN могут созданы (если это применимо) через локальную службу Version Control сервера, либо могут быть подключены внешние репозитории (SVN или Git). Все репозитории управляются централизованно через страницу VCS (Admin - VCS) веб-интерфейса сервера.
Чтобы добавить проектный репозиторий, нажмите кнопку , расположенную в верхней правой части страницы. Будет открыто окно Add Repository – используйте его для определения репозитория.
Необходимые свойства зависят от того, создаете ли вы новый репозиторий с помощью локальной службы VCS, либо подключаетесь к существующему внешнему репозиторию:
- New (Новый) – задайте имя и описание репозитория.
- Existing (Существующий) – помимо имени и описания, необходимо предоставить адрес URL репозитория и учетные данные (User Name, Password) для доступа к этому репозиторию (если необходимо).
Создайте новый репозиторий SVN с помощью локальной службы Version Control в Altium Concord Pro или подключите существующий репозиторий (SVN или Git), который был создан вне сервера.
Подключенный внешний проектный репозиторий отличается отмеченным свойством External в списке репозиториев ().
Проектные репозитории, определенные через Concord Pro, становятся доступны клиенту автоматически после входа, поэтому пользователям не нужно беспокоиться о URL, протоколах, паролях и т.д. Репозиторий настраивается на сервере один раз, после чего он публикуется соответствующим пользователям необходимым образом.
Определяйте доступ к проектным репозиториям предприятия централизованно. Репозитории SVN могут быть внутренними для установки Altium Concord Pro (определенные с помощью локальной службы Version Control) или внешними, при использовании встроенной в Altium Designer службы SVN или сторонней службы SVN или Git. Управление доступом осуществляется на странице VCS веб-интерфейса Concord Pro. Когда пользователь входит в Concord Pro, доступные ему проектные репозитории автоматически добавляются на страницу Data Management - Design Repositories диалогового окна Preferences. На изображении выше пользователь вошел на сервер с другого ПК, поэтому localhost
заменен на имя компьютера, где установлен сервер (imp
в этом примере).
Создание репозитория через Altium NEXUS Server
Связанная страница: Altium NEXUS Server - Служба Version Control
При использовании NEXUS Server в качестве сервера управляемых данных, репозитории SVN могут созданы (если это применимо) через локальную службу Version Control сервера, либо могут быть подключены внешние репозитории (SVN или Git). Все репозитории управляются централизованно через страницу VCS (Admin - VCS) веб-интерфейса сервера.
Чтобы добавить проектный репозиторий, нажмите кнопку , расположенную в верхней правой части страницы. Будет открыто окно Add Repository – используйте его для определения репозитория.
Необходимые свойства зависят от того, создаете ли вы новый репозиторий с помощью локальной службы VCS, либо подключаетесь к существующему внешнему репозиторию:
- New (Новый) – задайте имя и описание репозитория.
- Existing (Существующий) – помимо имени и описания, необходимо предоставить адрес URL репозитория и учетные данные (User Name, Password) для доступа к этому репозиторию (если необходимо).
Создайте новый репозиторий SVN с помощью локальной службы Version Control в NEXUS Server или подключите существующий репозиторий (SVN или Git), который был создан вне сервера NEXUS Server.
Подключенный внешний проектный репозиторий отличается отмеченным свойством External в списке репозиториев ().
Проектные репозитории, определенные через Altium NEXUS Server, становятся доступны клиенту автоматически после входа, поэтому пользователям не нужно беспокоиться о URL, протоколах, паролях и т.д. Репозиторий настраивается на сервере один раз, после чего он публикуется соответствующим пользователям необходимым образом.
Определяйте доступ к проектным репозиториям предприятия централизованно. Репозитории SVN могут быть внутренними для установки NEXUS Server (определенные с помощью локальной службы Version Control) или внешними, при использовании встроенной в Altium NEXUS службы SVN или сторонней службы SVN или Git. Управление доступом осуществляется на странице VCS веб-интерфейса NEXUS Server. Когда пользователь входит в NEXUS Server, доступные ему проектные репозитории автоматически добавляются на страницу Data Management - Design Repositories диалогового окна Preferences. На изображении выше пользователь вошел на сервер с другого ПК, поэтому
localhost
заменен на имя компьютера, где установлен сервер (sam
в этом примере).
Подключение к существующему репозиторию SVN через Altium Designer
В среде совместного проектирования может быть уже создан один или множество проектных репозиториев в расположении, доступном множеству пользователей. В этом случае, нет необходимости изобретать велосипед и создавать новый репозиторий – нужно лишь подключиться к нужному существующему репозиторию. Это также применимо для тех случаев, когда вы удалили репозиторий из списка и хотите добавить его обратно.
Чтобы подключиться к существующему репозиторию, на странице Data Management - Design Repositories диалогового окна Preferences нажмите кнопку и выберите SVN из выпадающего меню. Будет открыто диалоговое окно SVN Design Repository. Введите имя, по которому будет происходить обращение к репозиторию из Altium Designer, укажите путь извлечения по умолчанию, метод доступа к репозиторию и путь к корневой папке репозитория. Вы также можете указать определенную подпапку в репозитории.
После определения настроек необходимым образом нажмите OK – будет создано соединение, и репозиторий станет готов к использованию.
Подключение к существующему репозиторию – в этом случае, к локальному репозиторию на жестком диске.
Подключение к существующему репозиторию – в этом случае, к внутреннему репозиторию сервера.
Подключение к существующему репозиторию Git через Altium Designer
На странице Data Management - Design Repositories диалогового окна Preferences нет элементов управления для создания нового репозитория Git или подключения к существующему. Тем не менее, вы можете подключиться к существующему репозиторию этого типа другими средствами (которые являются привычными для пользователей Git). Для этого необходимо выполнить следующее:
- Создайте удаленный репозиторий Git или подключитесь к внешнему репозиторию предприятия, в котором хранятся проекты Altium Designer.
- Склонируйте репозиторий, чтобы создать локальный рабочий репозиторий Git.
- Откройте проект Altium Designer из локального репозитория.
Altium Designer распознает, что проект находится под контролем версий репозитория Git и отобразит относящиеся к контролю версий состояния, а также предложит команды/функции для работы с файлами (в том числе фиксация в локальном рабочем репозитории Git и выгрузка из локального репозитория Git в удаленный репозиторий Git).
Изменение свойств репозитория
Вы также можете в любой момент изменить свойства репозитория. Например, вы можете захотеть изменить имя репозитория, которое отображается и по которому происходит обращение к нему в Altium Designer. Или вы можете захотеть изменить подключение, чтобы задать связь с другим репозиторием. Для этого выберите запись репозитория в списке на странице Data Management - Design Repositories диалогового окна Preferences и нажмите кнопку . Будет открыто диалоговое окно SVN Design Repository (или Git Repository), где вы можете внести изменения необходимым образом.
Отключение от репозитория
Чтобы отключиться от проектного репозитория, выберите его запись в списке и нажмите кнопку . Репозиторий будет удален из списка подключенных проектных репозиториев. Сам репозиторий не будет удален, он будет лишь отключен от системы. Чтобы использовать репозиторий снова, подключите его.
Использование проектных репозиториев
После того, как проектный репозиторий VCS определен, подключение к нему упрощает добавление проектов в этот репозиторий и открытие существующих проектов из этого репозитория. Вместо того, чтобы запоминать путь и пробираться по меню для выбора репозитория, вы просто выбираете нужный репозиторий из удобного списка всех репозиториев, к которым вы в данный момент подключены и которые активированы для использования.
Добавление локального проекта в репозиторий
Добавление локального проекта (не под контролем версий) в проектный репозиторий является прямолинейным процессом. Когда проект открыт, используйте команду Add Project Folder To Version Control из панели Projects или панели Storage Manager. Будет открыто диалоговое окно Add to Version Control, в верхней части которого присутствует выпадающий список всех подключенных и активированных проектных репозиториев. Выберите нужный репозиторий.
Иерархия папок внутри выбранного проектного репозитория представлена в разделе Folders диалогового окна. Укажите существующую папку, в которую нужно добавить проектные файлы, или создайте новую папку с помощью кнопки New Folder. Во втором случае, папка будет добавлена в указанное расположение в иерархии папок репозитория, с именем, соответствующим исходной папке проекта.
Добавление локального проекта в локальный проектный репозиторий.
Добавление локального проекта в проектный репозиторий, доступный на сервере управляемых данных.
Создание нового проекта под контролем версий
При создании нового проекта под контролем версий, в поле Repository диалогового окна Create Project представлен выпадающий список всех подключенных и активированных проектных репозиториев. Выберите нужный репозиторий.
Создание нового проекта под контролем версий. Для использования доступны все заданные проектные репозитории. Здесь показана ситуация, когда вход на сервер управляемых данных не осуществлен.
Здесь показана ситуация, когда осуществлен вход на сервер управляемых данных. Доступны все проектные репозитории сервера, кроме
Versioned Storage
.
Добавление управляемого проекта в проектный репозиторий
Связанная страница: Управляемые проекты и выпуск проекта
Когда вы создаете новый управляемый проект или делаете неуправляемый проект (локальный или под контролем версий) доступным на сервере управляемых данных, итоговый проект хранится в проектном репозитории. Репозиторий можно быстро выбрать из списка заданных репозиториев в рамках соответствующего интерфейса, используемого для создания/преобразования проекта.
Создание нового управляемого проекта непосредственно на сервере управляемых данных, в который вы вошли. Для использования будут доступны только проектные репозитории, предоставленные сервером управляемых данных (и опубликованных вам, если это применимо).
Преобразование локального проекта в управляемый. Целевой проектный репозиторий должен быть управляемым, т.е. должен быть предоставлен этим сервером. На изображении доступен репозиторий
Versioned Storage
(Git), а также два репозитория SVN, предоставленные сервером.
Открытие проекта под контролем версий из проектного репозитория
Таким же прямолинейным процессом является возможность открытия проекта под контролем версий, который находится в проектном репозитории. Используйте команду File » Checkout – будет открыто диалоговое окно. Используйте поле Check out from для выбора нужного репозитория из выпадающего списка всех подключенных и активированных репозиториев.
Иерархия папок внутри выбранного проектного репозитория представлена в разделе Folders диалогового окна. Используйте этот раздел, чтобы указать папку, которая будет извлечена из репозитория.
Используйте поле Check out to, чтобы указать, куда будет извлечено содержимое заданной папки. Это будет область вашей локальной "песочницы".
Извлечение существующего проекта под контролем версий из указанного проектного репозитория.
Открытие управляемого проекта из проектного репозитория
Для работы над управляемым проектом, т.е. с его извлеченной локальной рабочей копией, сначала войдите на сервер управляемых данных, где находится этот проект. Затем используйте команду File » Open Project. Будет открыто диалоговое окно Open Project. В разделе Locations диалогового окна будет отображен сервер, отличающийся иконкой , с именем этого сервера. Щелкните ЛКМ по этой записи, чтобы отобразить список управляемых проектов. Будут представлены только те управляемые проекты, которые были опубликованы вам (и к которым у вас есть права доступа), и из тех управляемых проектных репозиториев, которые опубликованы вам. Выберите управляемый проект, который нужно открыть с сервера, и нажмите
. Открытый проект будет отображен под записью сервера в панели Projects.
Выберите на открытие управляемый проект из тех, которые опубликованы вам.