硬件项目有哪些好的版本控制系统?是否有 Google Code、CVS 和 SVN 的等价物?这样的版本控制系统是否适用于涉及 PCB 文件、原理图……(甚至固件代码)的硬件项目?
硬件项目的版本控制系统?
基本上,所有 VCS 系统都可以优雅地处理文本和二进制文件。当然,您不能合并二进制文件。
因此,只要您不使用 CVS 等过时的东西,您就可以使用任何系统。
我以前用过 Subversion 和 Altium。它成功地工作,但当时缺乏差异工具使其不如版本控制对代码有用。我仍然认为这是值得的,即使没有差异能力。
对于固件,Subversion 或 Git 都很棒。如果您以前没有使用过 Git,请先尝试 Subversion(尽管这会使以后学习 Git 变得更加困难)。
Altium 最近为原理图和 PCB 引入了一个差异工具,所以我希望 Subversion 现在会很棒,以 EDA 供应商设法构建到他们产品中的通常的疯狂为模。
我一直想用新的 diff 工具试试这个;如果我这样做了,我会尽量记住在这里发布一个指向 repo 的链接作为示例。
更新
我试过了,我不得不说我对 Altium diff 工具有点不知所措。它是功能性的,但是板转速之间的变化足够大,至少对我来说不是那么有用。看到这个,我决定忘记 diff 工具,只使用 Github。如果您有兴趣,这里是回购:https ://github.com/rascalmicro/pcb
我使用 VisualSVN Server + TortoiseSVN 客户端,效果很好
我使用 Google Code 来托管Super OSD,这是我的一个电子项目。
我专门使用 gEDA 套件来管理我的原理图和 PCB。有用的是,gEDA 为原理图生成文本文件(大部分是人类可读的,尽管很难解释它们),而不是像 Eagle 这样的二进制 blob。例如,这是两个原理图之间的差异,一个大约 5 天前,一个我刚刚推送。它并不是特别有用,因为您实际上看不到文本文件中的太多变化,但它可以显示相对变化——即大量返工,与单个组件变化相比——它确实让你回到以前的版本。