Old Content - visit altium.com/documentation

Parent article: Vault-Driven Electronics Design

A Design Repository is a centralized repository in which all design projects are stored. Owned by the design team, the Design Repository contains a high-resolution view of the history of the design process and is the primary collaboration tool used by the design team.

The Design Repository becomes the central repository from which multiple team members can check data in and out, all the while maintaining a complete revision history of all changes made to the design. A design is therefore stored as a series of versions of its constituent project and source documents, building a progressive picture of the intent of a designer over time. By using a version-controlled Design Repository, you have the integral assurance that no revision of a design is ever lost, allowing for safe collaboration on the same design between members of a team that can be geographically diverse in their locations. The very nature of the version control system provides an audit trail for the design. Full accountability arises through transparency of who changed what, in which source document, and when. The system can support multiple version-controlled Design Repositories with the link to a particular repository being established by the version control link within the project folder.

As part of Altium Designer's Design Data Management System, support is provided for creating and connecting to version-controlled Design Repositories that utilize Subversion or CVS as the version control provider. By connecting to a repository you are, in effect, registering that repository with the system – telling Altium Designer of its existence as it were. Furthermore, there is no manual specification of paths to unofficial or 'rogue' repositories. Through Altium Designer, you can only interact with those VCS-based Design Repositories you have purposefully connected to the system.

Setting up Version Control Provider

Related articles: Understanding Version Control - an Introduction, Using Version Control in Altium Designer

Both Subversion (SVN) and Concurrent Versions System (CVS) version control providers are supported for implementation of Design Repositories. However, Subversion is the recommended provider as it is widely and freely-available, and in true keeping to its unified nature, Altium Designer includes Subversion capabilities built-in. Version control providers are enabled and configured on the Data Management – Version Control page of the Preferences dialog (DXP»Preferences).

Version-controlled Design Repositories can be created and connected to the system when using either Subversion or CVS as the version control provider.
The built-in Subversion is, by default, ready to use from the outset.

SVN - Subversion is enabled by default, and set to use the Subversion that is built-in to Altium Designer. You can of course use your own external Subversion installation. If you do this, you must also ensure that the paths to the SVN executables have been specified.

Note that if you are using an external Subversion installation, it is necessary to have Subversion 1.5.0 or later installed in order for the SVN commands to work correctly from Altium Designer.

Managing Design Repositories

Once the required version control provider has been defined and enabled, Design Repositories can then be created and managed on the Data Management – Design Repositories page of the Preferences dialog.

Command-central for creating and connecting to VCS-based Design Repositories!

The following sections take a closer look at the creation and management of Design Repositories that are 'registered' with the system. For illustration, the SVN flavor of repository is used, although the principles involved apply equally to CVS repositories.

Creating a New Design Repository

To create a new Design Repository, click on the Create New button and choose the type of repository you wish to create – either SVN or CVS. The applicable creation dialog will appear. For an SVN repository, this is the Create SVN Design Repository dialog.

Define the location and name for the new Design Repository.

By default, the repository will be named Vault 1. Change this to a more meaningful name as required. Use the Repository Location field to specify the root folder of the SVN repository. This location can either be on your hard drive (for your own personal use) or in a network location (for collaborative use by a wider team). Either type the path to the repository directly, or use the button to access the standard Browse For Folder dialog, from where you can quickly browse to an existing folder.

When entering the repository location directly, you can specify a folder name that currently does not exist. This will be created for you. Similarly when browsing for a folder, you can create a new folder simply by clicking the Make New Folder button in the Browse For Folder dialog.

Once you have specified the repository location click OK. The repository will be created at the nominated location and a connection to that repository from Altium Designer made. An entry will appear for it in the listing of Design Repositories back on the Data Management – Design Repositories page of the Preferences dialog.

Example creation of a new SVN Design Repository. Upon creation, the repository will be connected to (registered with) Altium Designer and is ready for immediate use!

For each registered, or rather connected repository, the following information is presented:

  • Name – a meaningful name for the repository. This could, for example, reflect the design projects that are stored in the repository. This name is used elsewhere in the software for quick selection of a Design Repository to be used, for example when opening a project from version control.
  • Activated – whether the repository is available for use by the system (enabled) or not (disabled). A newly created or connected repository will be activated by default.
  • Type – the type of repository, either SVN or CVS.
  • Repository – the root folder of the repository.
  • Status – whether the connection between Altium Designer and the repository is successful () or not (). If connection is unsuccessful a comment will be displayed, indicating the problem.

Currently, only Design Repositories with the file repository access method can be created. Design Repositories using a different access method (e.g. http) can be set up by a network administrator, or by one of the many providers of hosted Subversion repositories. You can then connect to this existing repository by using the Connect To button, as detailed in the next section.

Connecting to an Existing Design Repository

In a collaborative environment, one or more Design Repositories may already have been created in a location accessible by multiple users. In this case, you do not need to create a new repository – re-inventing the wheel as it were – rather you simply need to connect to the required existing repository. This is also the case if you have removed a repository from your list of repositories, and want to add it back in again.

To connect to an existing repository, simply click on the Connect To button and choose the type of repository you wish to connect to – either SVN or CVS. The applicable connection dialog will appear. For an SVN repository, this is the SVN Design Repository dialog. Simply enter a name by which to refer to the repository from within Altium Designer, and specify the repository access method and path to the root folder of the repository. You can also specify a particular sub-folder within the repository. Once specified, click OK – a connection will be made and the repository will be ready for use.

Specify the access method, location and a name to connect to an existing repository.

Editing Repository Properties

You can also edit the properties of a Design Repository at any time. For example, you might want to change the name of the repository, as displayed and referenced within Altium Designer. Or you might want to edit the connection, perhaps to link to a different repository. To do this, simply select the entry for the repository in the listing of repositories, then click on the Properties button. The applicable Design Repository dialog will appear, from where you can make changes as required.

Disconnecting from a Repository

To disconnect from a Design Repository, simply select its entry in the list and click the Remove button. The repository is simply removed from the list of connected Design Repositories. The repository itself – the SVN or CVS repository – is not deleted, it simply becomes disconnected from the system. To use a repository again, simply connect to it.

Using Design Repositories...

Once defined, the connected nature of a VCS-based Design Repository simplifies the ability to either add a project to that repository, or open an existing project from that repository. Instead of having to remember the path or drill down in a browse menu to select the repository, you simply choose the required repository from a convenient listing of all Design Repositories you are currently connected to, and that are activated for use.

...when Adding a Project to a Repository

Adding a design project to a Design Repository is a straightforward process. With the project open, use the Add Project Folder To Version Control command from either the Projects panel or Storage Manager panel. The Add to Version Control dialog will appear. The field at the top of this dialog presents a drop-down listing of all connected and activated Design Repositories. Select the repository required. Click the button to quickly access the Data Management - Design Repositories page of the Preferences dialog – if you need to connect a different repository or create a new one.

The folder hierarchy within the chosen Design Repository is presented to you in the Folders region of the dialog. Either specify an existing folder into which to add the design files, or create a new folder using the New Folder button. In the latter case, a folder will be added at the specified position within the repository's folder hierarchy, named using the project name.

Connected VCS-based Design Repositories make adding new design projects to version control a snap!

...when Opening a Project from a Repository

Equally straightforward is the ability to open a design project that resides in a Design Repository. Simply use the File»Checkout command – the Check Out dialog will appear. Use the Check out from field to choose the required repository from a drop-down listing of all connected and activated Design Repositories. Click the button to quickly access the Data Management - Design Repositories page of the Preferences dialog – if you need to connect a different repository or create a new one.

The folder hierarchy within the chosen Design Repository is presented to you in the Folders region of the dialog. Use this region to specify the exact folder that is to be checked out from the repository.

Use the Check out to field to specify where the nominated folder content is to be checked out to. This is your local sandbox area for example.

Check out an existing version-controlled design project from a nominated Design Repository with controlled ease!

You are reporting an issue with the following selected text and/or image within the active document: