17

Altium has built in support for Subversion but we do have a need for version control at multiple sites. WANdisco can synchronize multiple SVN repositories but it is expensive. Has anyone used Altium with Git? If so, how?

Tor Klingberg
  • 4,790
  • 6
  • 41
  • 51
jacknad
  • 13,483
  • 40
  • 124
  • 194

6 Answers6

11

I recently got this working. I'm using a private repo on github, so I unfortunately can't show proof. But here is how to do it, I hope this helps others as it took me a few hours to figure it out. Note, there should be nothing special about using github, they are probably using the git-svn as Paul mentioned.

I'm using the 'built in version' of SVN under Altium Version Control preferences. I do have tortoise svn installed, although that's just so I can use some of the GUI features. (I'm using tortoise 1.8.5, which seems to work fine with github).

Here is the thing that got me stuck... For SVN to work, you CAN NOT have an empty repo, you have to have at least one commit. So assuming you are on github, start a repo, and then follow the instructions they give. (just so the repo is not empty):

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:flirc/altium.git
git push -u origin master

Now go to Altium, Preferences->Data Management->Design Repositories

Then click "connect to" SVN. A dialog should appear. The name is just a local reference so you can distinguish the server if you have multiple.

For github, and my example above:

  • Method: https
  • Server: github.com
  • Server Port: Default
  • Repository Sub Folder: /flirc/altium

It should be able to connect, and you should be able to seamlessly use SVN in Altium now. Seems to be working great so far. Hope that helps.

Jason Kotzin
  • 709
  • 1
  • 7
  • 8
  • 2
    I don't really understand what you're doing here. Are the Altium files really version controlled using Git (by magic?) or this is an entire SVN repository which is itself stored in Git? – Eric Anderson Jan 02 '14 at 16:22
  • 7
    Github allows you to use SVN to access github repos. As such, this answer is of use **exclusively** with github.com, as the git<->svn translation is happening server-side at github. See: https://github.com/blog/1178-collaborating-on-github-with-subversion – Fake Name Jan 08 '14 at 03:02
  • How did you get it to authenticate? I get an error from SVN: "Authentication failure and interactive prompting is disabled...". Although SVN has a command-line option for forcing prompting, I can't figure out how to turn that on in Altium's internal SVN. Think I'm just going to use external Git tools. – Thinman Apr 08 '15 at 00:36
  • Thanks, adding a first file to the empty repo before connecting really did the trick for me too :) – Thomas Apr 14 '16 at 12:41
  • Answer: [https://stackoverflow.com/a/51458224/7277402](https://stackoverflow.com/a/51458224/7277402) – zewill Oct 26 '21 at 19:24
9

I recently re-raised this question with Altium and got the following reply:

Eric Anderson, good question! I am sorry to say that there is only support for SVN and CVS as you were aware. I have not heard of any future plans for the other storage/version control software packages. The only thing that comes to mind is to use the built in SVN and in the "working directory" try adding that to Git (or others) and do the commits/updates external from Altium.

I can also suggest going onto AltiumLive and into Ideas section and enter an idea. If enough people like it and vote for it the possibility for implementation exists (no promises of course).

AltiumLive ideas is at http://bugcrunch.live.altium.com/#Ideas/New if anyone feels like commenting there.

Eric Anderson
  • 1,968
  • 2
  • 15
  • 19
7

Have a look at git-cvsserver it's a a CVS server emulator for git. It appears to offer the pserver protocol directly to a CVS client. It's doesn't support watches though.

Gino Mempin
  • 25,369
  • 29
  • 96
  • 135
Paul Evans
  • 71
  • 1
  • 1
  • Answer: [https://stackoverflow.com/a/51458224/7277402](https://stackoverflow.com/a/51458224/7277402) – zewill Oct 26 '21 at 19:24
6

NEWS! (2018)

From the Release Notes for Altium Designer, Altium added support for Git version control.

To know how to use you can follow this Using Version Control with Altium NEXUS guide.

NEWS! (2021) Now you have specific documentation for Git version control. Using Git Version Control with Altium Designer

You can see this useful tutorial from Robert Feranec on Youtube. Altium - File Versioning - Step by Step using Git (GitHub)

zewill
  • 181
  • 1
  • 8
  • 2
    Documentation about CVS and GIT can be accessed here (https://www.altium.com/documentation/18.0/display/ADES/((Using+Version+Control))_AD) – zewill Apr 23 '19 at 09:12
1

It sounds like you have multiple SVN respositories, and you want some kind of distributed version control.

Have you considered using a distributed version control client that supports SVN repositories, such as TortoiseHg or SVK or SmartGit or git-svn ?

Such clients cannot do everything that a client working with a repository designed for DVCS can do, but perhaps it will be better than what you have now.

David Cary
  • 5,250
  • 6
  • 53
  • 66
  • Answer: [https://stackoverflow.com/a/51458224/7277402](https://stackoverflow.com/a/51458224/7277402) – zewill Oct 26 '21 at 19:25
0

You can always use GIT outside of Altium - I have been doing so for many years.

Simply create a GIT repo based on your project folder.

On the downside, you do lose the functionality of Altium showing the differences between versions. Also, as far as I know, you can't do merges as the files Altium uses are not text based.

Edit: Altium are currently working to implement GIT as a version control option. https://bugcrunch.live.altium.com/#Idea/2379

sa_leinad
  • 309
  • 1
  • 8
  • 24