春风得意马蹄疾 记录技术,分享生活
随笔: 35 分类: 15 评论: 2 阅读: 7,305

打造个人 Cadence PCB 元件库版本管理:SVN 服务器搭建与 TortoiseSVN 实战

📅 发表于 2026-07-07 23:13:48 👁 阅读 228 次 💬 评论 0

前言

在 PCB 设计工作中,随着项目积累,元件封装库、原理图符号库的管理会变得越来越困难。多人协作时版本混乱、文件覆盖、历史追溯困难等问题层出不穷。本文将介绍如何在 Linux 服务器上搭建 Subversion(SVN)版本管理服务器,统一管理 Cadence Allegro/OrCAD 元件库,并配合 Windows 端的 TortoiseSVN 实现便捷的版本控制。

为什么选 SVN 而不是 Git?

对于 PCB 设计库这种以二进制文件为主的场景,SVN 有几个天然优势:

  • 文件锁机制:二进制文件(.dra、.psm、.OLB)无法合并,SVN 的悲观锁可以防止多人同时编辑同一个封装,确保数据一致性。
  • 目录级别权限控制:可以对 Allegro 封装库、OrCAD 原理图库、IBIS 仿真模型等不同目录设置不同访问权限。
  • TortoiseSVN 集成:Windows 资源管理器右键集成,设计师无需离开工作环境即可完成提交、更新操作。
  • 轻量级服务端:svnserve 进程资源占用极低,适合部署在家用服务器上。

服务器环境

  • 操作系统:Ubuntu 26.04 LTS
  • 服务器:华为 RH2288 V3
  • Subversion:1.14.5
  • 网络:内网 10.10.10.42,外网通过域名可访问

安装 Subversion

apt-get install -y subversion

安装完成后验证版本:

svnserve --version

创建仓库

在 /opt/svn 目录下创建版本库:

mkdir -p /opt/svn
svnadmin create /opt/svn/cadence-lib

SVN 仓库文件本身只需要 128 MB 空间(含 8400+ 个 PCB 封装和原理图符号),非常节省存储。

配置用户认证

编辑仓库配置目录下的 svnserve.conf:

[general]
anon-access = none          # 禁止匿名访问
auth-access = write          # 认证用户可读写
password-db = passwd         # 密码文件
authz-db = authz            # 权限文件
realm = Cadence Lib Repository

设定用户密码(passwd 文件):

[users]
xiaoajun = 123456
gaoyang = 123456

权限文件(authz):

[/]
* = rw

配置 systemd 服务

创建 /etc/systemd/system/svnserve.service 确保服务器重启后自动运行:

[Unit]
Description=Subversion server
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /opt/svn --log-file /var/log/svnserve.log
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务并开放防火墙端口:

systemctl enable --now svnserve
ufw allow 3690/tcp

导入现有库文件

将本地 Cadence 元件库导入到 SVN 仓库:

cd /path/to/your/lib
svn import . file:///opt/svn/cadence-lib -m "Initial import: Cadence PCB library"

本次导入了 8485 个文件,包括:

  • Allegro/:3069 个 .dra 封装、2759 个 .psm 符号、2184 个 .pad 焊盘
  • Orcad/:24 个 .OLB 原理图符号库
  • IBIS/:信号完整性仿真模型
  • 板框/:常用 PCB 板型 DXF 图纸

Windows 端使用 TortoiseSVN

Checkout(首次检出)

  1. 在目标文件夹右键 → SVN Checkout
  2. URL 填入:svn://10.10.10.42/cadence-lib(外网用域名)
  3. 输入用户密码,点 OK 即可检出

Daily 工作流

操作 右键菜单 说明
获取最新版本 SVN Update 打开 Cadence 前先更新,确保用最新库
锁定文件 SVN → Get Lock 修改封装前先锁定,防止他人同时编辑
提交修改 SVN Commit 提交时写清修改内容,方便追溯
查看历史 SVN → Show Log 查看封装修改记录和版本对比

Cadence 环境配置

在 Cadence 中配置共用库路径,确保 Allegro 和 OrCAD 都能直接加载 SVN 管理的库文件:

  • Allegro:Setup → User Preferences → Paths → Library,添加 padpath 和 psmpath
  • OrCAD Capture CIS:Options → CIS Configuration,配置数据库指向 SVN 工作副本

总结

通过 SVN 服务器 + TortoiseSVN 的组合,PCB 设计库的管理变得井井有条:

  • 每次修改都有完整的历史记录,出了问题随时回滚
  • 文件锁机制确保二进制封装文件不会冲突
  • 多台电脑共享同一套库,新增封装自动同步到所有设计师
  • 服务器端 24 小时运行,外网也能访问

整个方案成本为零(开源软件 + 自有服务器),却解决了 PCB 设计中最棘手的版本管理问题。

评论 (0)
å
小阿军
技术分享者 · 记录成长的每一步
✨ 特效 ON