Version control systems for hardware projects?

Basically, all VCS systems can handle text & binary files gracefully. Of course you cannot merge binary ones.

So as long as you are not using obsolete things like CVS you will be good with ANY system.


I've used Subversion with Altium before. It worked successfully, but at the time the lack of a diff tool made it less useful than version control is with code. I still think it was worth doing, even without diff capability.

For firmware, Subversion or Git are both great. If you haven't used Git before, try Subversion first (even though it will make learning Git later harder).

Altium has recently introduced a diff tool for schematics and PCBs, so I expect that Subversion would now be great, modulo the usual insanity that EDA vendors manage to build into their products.

I've been meaning to try this out with the new diff tool; if I do, I'll try to remember to post a link to the repo here as an example.

Update

I tried this out, and I have to say that I'm a little underwhelmed with the Altium diff tool. It's functional, but the changes between board revs are substantial enough that it's not that useful, at least for me. Having seen this, I've decided to forget about the diff tool and just use Github. Here's the repo if you're interested: https://github.com/rascalmicro/pcb


I use VisualSVN Server + TortoiseSVN client, and it works just fine