Migrating Data From Other Version Control Systems

Zachariah Peterson
|  Created: July 28, 2022  |  Updated: April 5, 2024
MIGRATING DATA FROM OTHER VERSION CONTROL SYSTEMS

The development of electronic devices always involves the release of many different types of files. And these files are not static - they change as the project progresses. When filling a project with data, a user creates new files and modifies outdated files that have become irrelevant.

Managing project data is a separate task, especially for large developments where several participants with different specializations are involved in the process.

Traditionally, one way to manage data is to use a version control system such as Git or SVN (Subversion). They allow you to keep a detailed history of all changes and are suitable for collaborative work. However, the disadvantage of this approach is that these systems are general-purpose systems and do not take into account the specifics of electronics development. There are also challenges with transitioning data management into design.

Commit History:

Details of a separate commit:

Storage manager panel

Altium Designer has built-in support for version control systems. The Project panel displays the status of your files, as well as basic Git or SVN commands (such as update, commit, etc.).

The Storage Manager panel displays the full history of changes in your project files.

Project panel

Storage Manager panel

Why migrate to Altium 365?

Unlike other VCSs, Altium 365 is a system designed specifically for managing project data.

Here are some benefits:

  • You can always share a complete set of project data simply by providing a link;
  • Altium 365 provides advanced data sharing with MCAD systems;
  • You can share comments on the project with your colleagues in the form of notes directly in the Altium Designer environment and using a web browser;
  • Altium 365 has a system of differentiation of user rights depending on the role;
  • Altium 365 is a constantly developing system that gives more and more possibilities for collaborative work on projects.

Moving to Altium 365

When you already have a workspace in Altium 365, nothing is easier than migrating your project with its history of changes and continuing to work in the Altium 365 environment, using all the advantages of the platform.

  • Once connected to the workspace, select Make Project Available Online from the context menu of the active project.
  • In the opened window, edit the project name (if necessary), select the location directory, and tick the Migrate to Altium 365 Versioned Storage checkbox. Click OK.

Note: the project name, description, and placement directory can be changed later in the workspace.

  • After you click Migrate, Altium Designer will make some changes to the project file (with service information) and commit all the files to your current Git (or SVN) repository.
  • Commit history will show a commit with the following content.
  • The successful ECAD data migration process will result in the window offering you to open your project in the workspace in the browser.

When you open the project for viewing in a web browser, you can verify the integrity of the migrated data. And change history is fully migrated from the version control system repository. From now on, you will work in the Altium 365 environment.

Important notices

  • The project is completely taken over by Altium 365 after ECAD data migration, and the connection with the old repository is no longer available;
  • When opening a project in an “old version” of the repository (i.e. in the repository of an external version control system - on other PCs or other users), the user will be notified that it is necessary to migrate a local copy of the project to Altium 365 control. If the appropriate option (Update local project folder) is selected, this operation will be performed automatically;
  • If Do nothing is selected, the user will continue to work on the project under the external VCS. Such a project will have no connection to Altium 365.

Other Cases

The project is in the Altium 365 workspace but uses an external VCS.

In this case, in the context menu of the project, in the History & Version Control submenu, select the Migrate Project... command.

The make Project Available Online command is also available in the project properties (Project Options item in the context menu).

Limitations

There are several limitations to the procedure of transferring a project from an external VCS.

For Git:

  • Repositories that contain multiple PCB projects are not supported.
  • It is recommended that the *.PrjPcb file should be located in the root folder of the repository. A fix during migration has been proposed so that if the project file is not located in the root, you will still be able to migrate the project.

For SVN:

  • Suppose your repository contains multiple projects after migration. In this case, a new project folder needs to be created outside of the SVN working copy as the Altium 365 Workspace storage is Git-based, and a Git repository cannot be stored inside the SVN working copy.
  • Commits that include an external file relative to the project folder may not be adequately shown as only project folde-rrelated commits are migrated.
  • “File” protocol is not supported.

    Manging a project can be a challenge. Check out Altium 356 for all your project management needs. It has built in support for version control systems as well as advanced data sharing with MCAD systems.
Open as PDF

About Author

About Author

Zachariah Peterson has an extensive technical background in academia and industry. He currently provides research, design, and marketing services to companies in the electronics industry. Prior to working in the PCB industry, he taught at Portland State University and conducted research on random laser theory, materials, and stability. His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental sensors, and stochastics. His work has been published in over a dozen peer-reviewed journals and conference proceedings, and he has written 2500+ technical articles on PCB design for a number of companies. He is a member of IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society, and the Printed Circuit Engineering Association (PCEA). He previously served as a voting member on the INCITS Quantum Computing Technical Advisory Committee working on technical standards for quantum electronics, and he currently serves on the IEEE P3186 Working Group focused on Port Interface Representing Photonic Signals Using SPICE-class Circuit Simulators.

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.