2
\$\begingroup\$

I am using Altium for years, but never succeeded in efficient usage of SVN or GIT for managing the Altium component libraries. Now we are 2 engineers working on the same HW design. We are struggling to choosing the right way of maintaining the component libraries. It seems that the way to go would be to use a data base based one, but before that, I would like to make sure I have evaluated all Git/ SVN based methods...

The main problem is that Altium uses binary files, which are not good for version control to start with. Furthermore, all footprints and schematic models can be kept within only one binary (library file). In the past, I have meet someone who decided to keep each footprint lib and sch lib, for a single component, as a separate file. This allowed him to somehow manage the changes tracking in GIT. If there is only one library file with many components, that is not possible.

Do you know any efficient way to maintain Altium components (schematics and footprints) libs within Git or SVN version control systems?

The assumption is of course that more than 1 person would actively contribute to the given lib(s).

\$\endgroup\$
4
  • \$\begingroup\$ One way to do it is to include a commonly used format together with the binary files. For example print schematics and layouts in a fixed pdf format. From there, at least SVN clients are able to highlight diffs somewhat well. But the main source of information should always be the commit text - that's where you need to put most of the effort and establish standards. \$\endgroup\$
    – Lundin
    Feb 3, 2022 at 13:49
  • \$\begingroup\$ Thanks for answer. Yes, I sort of did that with versioned word documents- commited the doc itself + markdown export for tracking changes. The main issue with this one here is that there iw no sane way to merge changes. \$\endgroup\$ Feb 3, 2022 at 15:39
  • \$\begingroup\$ The built in interface for Altium and SVN is not the best. I used TortoiseSVN externally, and it worked great. Even dealt with a merge or two. BUT, if you forget to do an update before commit and there are changes in the repo, then you'll probably lose some work. \$\endgroup\$
    – Aaron
    Feb 3, 2022 at 18:54
  • \$\begingroup\$ There's probably no sensible way to deal with merges if you have schematic or layout changes and the PCB CAD doesn't support version control. \$\endgroup\$
    – Lundin
    Feb 4, 2022 at 7:37

1 Answer 1

1
\$\begingroup\$

For binary files (non text files), you can only version the file and you won't be able to take advantage of the diff and comp functions of SVN. You can back up the files to roll the revisions forwards and backwards, but that's about it, no merging or comparing. Altium does have collaborative tools to do layout and schematics from multiple people, I have not tried this for libraries.

The feature is documented here: https://www.altium.com/documentation/altium-designer/using-version-control-ad

\$\endgroup\$
1
  • \$\begingroup\$ Hi, thanks for the answer. I am aware how it can be worked with for regular project files- issue is that it seems that component libs are not really supported that way... \$\endgroup\$ Feb 4, 2022 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.