基于 SVN 的版本控制
根据存储库的类型,可通过一系列协议访问存储库,其中包括
- 传统文件访问,通常用于本地或网络存储库。
-
文件访问
svn协议,使用纯文本或 TCP/IP 协议,或与之相当的安全协议。svn+ssh等效协议。 -
方法
http方法,一般使用 http 上的WebDAV或安全的https等效方法。
Subversion (SVN) 资源库连接到,并在必要时在对话框的 "数据管理 - 设计资源库 "页面中创建。 Preferences对话框创建。
管理 SVN 设计资源库
SVN 设计库在对话框的数据管理 - 设计库页面上进行管理。Preferences对话框的 "数据管理 - 设计库 "页面上管理 SVN 设计库。在此页面中,您可以执行一系列操作,包括
-
使用 Altium Designer 内置的版本控制功能创建基于文件的新 SVN 资源库。
-
连接到现有的 SVN 资源库。
-
控制每个已定义版本库的活动状态。
对于每个已注册或已连接的版本库,都会显示以下信息:
- Name- 有意义的资源库名称。例如,这可以反映存储在资源库中的设计项目。例如,从版本控制中打开一个项目时,软件的其他部分会使用这个名称来快速选择要使用的设计资源库。
- Activated- 该资源库是否可被系统使用(启用)或不可用(禁用)。默认情况下,新创建或连接的资源库将被激活。
- Type- 版本库类型; SVN或 Git.
- Repository- 版本库根目录的 URL。
- Status- Altium Designer 与版本库之间的连接是否成功 或不成功 。如果连接不成功,将显示注释,说明问题所在。
创建新 SVN 资源库
在 Altium Designer 中创建新的设计资源库可通过数据管理 - 设计资源库页面的 Preferences对话框的 "数据管理 - 设计库 "页面进行。单击
按钮并从相关下拉菜单中选择 SVN从相关下拉菜单中选择将出现 Create SVN Design Repository对话框。
该对话框提供一系列配置选项,允许您定义资源库的文件夹位置和方法(连接协议),以及已签出设计文件的本地连接名称和目标文件夹路径。请注意 svn和 http访问方法需要与主机系统及其访问相关的附加信息。
按要求指定所有设置后,点击 OK.将在指定位置创建资源库,并从 Altium Designer 与该资源库建立连接。设计库列表中将出现一个条目。 Data Management – Design Repositories页面的 Preferences对话框的页面上。

新创建的 SVN 设计资源库示例,在 Altium Designer 中显示为 Local Repository.
连接到现有的 SVN 资源库
在协作环境中,可能已经在多个用户可访问的位置创建了一个或多个设计资源库。在这种情况下,您不需要创建一个新的资源库,而只需连接到所需的现有资源库即可。如果您从版本库列表中删除了一个版本库,但又想将其重新添加进来,也属于这种情况。
要连接到现有版本库,请在 Data Management – Design Repositories对话框的 Preferences对话框的页面上单击
按钮,然后从相关的下拉菜单中选择 SVN从相关的下拉菜单中选择对话框 SVN Design Repository对话框将出现。输入在 Altium Designer 中引用资源库的名称,指定默认检出路径,并指定资源库访问方法和资源库根文件夹路径。您还可以指定资源库中的特定子文件夹。
按要求指定所有设置后,单击 OK- 连接,版本库就可以使用了。
连接到现有版本库--这里指硬盘上的本地版本库。
连接到现有的版本库--在本例中是服务器安装的内部版本库。
Options and Controls of the SVN Design Repository Dialog
设计版本库属性
- Name - 查看和/或更改设计资源库的名称。
- Default Checkout Path - 单击文本框中的浏览按钮,搜索并选择设计资源库文件夹。
设计资源库
- Method - 设计存储库的方法(连接协议)。
-
Server - 访问存储库的主机服务器。
-
Server Port - 查看版本库是否使用默认或非默认服务器端口。
-
Default - 如果选中,则版本库使用默认服务器端口。
-
Non Default - 如果选中,则版本库使用非默认服务器端口。还将显示服务器端口的信息。
-
-
Repository Subfolder - 选择版本库的指定子文件夹。单击
字段右侧的 Repository Subfolder字段访问 浏览版本 库目录对话框,并选择版本库目录中的子文件夹。
-
User Name - 选择版本库的用户名。
-
Password - 设计资源库的密码。
-
Test - 单击以测试与设计资源库的连接是否正常。系统将弹出一个对话框确认连接是否正常。如果连接失败,请仔细检查并更正信息。
编辑资源库属性
您还可以随时编辑设计资源库的属性。例如,您可能想更改 Altium Designer 中显示和引用的资源库名称。或者您可能想编辑连接,也许是链接到不同的资源库。为此,请在资源库列表中选择该资源库的条目(在 Data Management – Design Repositories对话框的 Preferences 对话框),然后单击
按钮。对话框(或 SVN Design Repository对话框(或 Git Repository对话框)将会出现,您可以根据需要进行更改。
断开与资源库的连接
要断开与设计资源库的连接,请在列表中选择其条目并单击
按钮。该资源库将从已连接的设计资源库列表中删除。资源库本身不会被删除,只是断开了与系统的连接。要再次使用资源库,请连接到该资源库。
使用 SVN 设计资源库
SVN 设计资源库一旦定义,其连接特性就简化了向该资源库添加项目或从该资源库打开现有项目的操作。无需记住路径或在浏览菜单中深入选择版本库,只需从当前已连接并激活使用的所有设计版本库的便捷列表中选择所需的版本库即可。
一般来说,可以使用项目或存储管理器面板中的命令将项目文件添加到版本控制资源库,其中包括注册要添加的文件,然后将这些文件提交到 VCS 的步骤。
下图所示过程使用 Projects面板,因为它更方便使用,但值得注意的是 Storage Manager面板提供了更多 VCS 细节和选项。
将本地项目添加到 SVN 设计资源库
将本地设计项目(当前不在版本控制之下)添加到设计资源库的过程非常简单。打开项目后,使用 Add Project Folder To Version Control命令。 Project » History & Version Control主菜单中使用该命令。对话框 Add to Version Control对话框。对话框顶部的字段会显示所有已连接和激活的设计资源库的下拉列表。选择所需的存储库。
所选设计库中的文件夹层次结构将显示在对话框的 Folders区域中显示。您可以指定一个现有文件夹来添加设计文件,或者使用
按钮创建一个新文件夹。在后一种情况下,将在资源库文件夹层次结构的指定位置添加一个文件夹,并以包含项目的源文件夹命名。

将本地设计项目添加到本地设计资源库。
单击
确认设置。然后,对话框将弹出源文件夹中的文件条目,并选择项目的组成文件--如有必要,可使用复选框启用或禁用包含的文件。选择
确认选择--请注意,面板中的文件条目现在的状态是"......"。 Projects 面板中的文件条目现在状态为 Scheduled for addition。这表明 VCS 已将文件注册到版本控制中,并准备好签入(提交)到 VCS 资源库。
计划添加的文件
提交项目
状态为 Scheduled for addition 的文件将在提交后添加到版本控制和设计资源库中。为此,请从 Version Control » Commit Whole Project命令,启动 Projects面板右键菜单中选择该命令启动该过程。
提交整个项目 "命令
提交整个项目命令 Add to Version Control对话框的后续版本允许取消选择单个项目文件(或选择其他文件),以便纳入版本控制。还可以添加注释,该注释将包含在即将发布的 VCS 修订版中。
纳入在版本控制下添加的某些文件
然后,项目及其组成的设计文件将被复制到 VCS 资源库,并注册为一个新版本,同时 Altium Designer 面板中的文件状态将更改为 No Modification。
创建新的版本控制项目
创建新的版本控制项目时,创建项目对话框中的 Repository 字段会显示所有已连接和激活的设计资源库的下拉列表。选择所需的版本库。

创建新的版本控制设计项目 - 可使用所有已定义的设计库。
对话框中的 Local Storage选项 Create Project对话框中的选项定义了项目工作副本的存储位置。在 Altium Designer 中打开和编辑的正是这些文件,编辑完成后,这些文件将最终作为新修订版提交回资源库(签入)。
从 SVN 设计资源库打开受版本控制的项目
同样简单明了的是,可以打开驻留在设计资源库中的版本控制设计项目。使用 File » Checkout命令--将出现 Check Out对话框。使用 Check out from字段,从所有已连接和激活的设计资源库的下拉列表中选择所需的资源库。
所选设计资源库中的文件夹层次结构将显示在对话框的 Folders区域中显示。使用该区域指定要从资源库中签出的确切文件夹。
使用 Check out to字段指定指定文件夹内容的签出位置。这是您的本地沙盒区域。

从指定的设计资源库中轻松签出受版本控制的现有设计项目!
锁定 SVN 项目的文件
SVN VCS 支持文件锁定,因此其他用户无法提交对锁定文件的更改。要在 SVN VCS 下锁定项目设计文件,请右键单击它在 Projects面板上单击右键,然后选择 History & Version Control » Lock命令(或从 Lock命令(或从文件的右键菜单中选择 Storage Manager面板中文件的右键菜单中选择命令)。锁定的文件会显示
图标在 Projects和 Storage Manager面板上显示锁定文件的图标。
文件已被自己或其他用户锁定。如果文件被你锁定,其他用户就不能将其更新到版本库中的新版本(除非强制解锁)。虽然只有一种图标类型用于标记锁定的文件,但其相关文本将显示谁锁定了该文件--或 Locked by me或 Locked by someone else.此外,VCS 文本还将显示综合条件,例如; Modified and locked by me.
要解锁当前锁定的文件,请在 Projects面板上右键单击该文件并选择 History & Version Control » Unlock命令(或从 Unlock命令(或从文件的右键菜单中选择 Storage Manager面板中文件的右键菜单中选择命令)。解锁后,任何用户都可以将修改后的文档提交到版本控制库。
清理文档
在对项目文件的本地工作拷贝进行任何修改之前,SVN 会创建一个 "待办事项 "列表--它需要执行的操作,以便安全地执行修改。在执行这些操作时,SVN 会锁定工作副本的相关部分。这可以防止其他 Subversion 客户端在更改过程中访问工作副本。一旦完成,锁就会被释放,Subversion 会清理其私有待办事项列表。不过,如果 Subversion 操作被中断,例如进程中断或计算机崩溃,私有待办事项列表仍会保留在磁盘上。这样,SVN 就能在稍后返回该列表,完成任何未完成的操作,并将工作副本恢复到一致的状态。
右键单击项目文档条目并选择 History & Version Control » Cleanup或从主菜单中选择 Project » Version Control » Cleanup命令来搜索工作副本,并运行任何遗留的待办事项,在完成这些操作的同时移除工作副本锁,最终将项目文档的工作副本恢复到一致状态。