工程历史

创建时间:2022-10-19 | 更新时间:2022-10-19

日常工作中,无法轻松访问工程开发过程的历史视图通常是工程师和产品经理的烦恼。很多时候,工程师必须掌握外部 VCS(版本控制) 管理工具,这可能需要相当水平的专业知识去使用它们,在想要执行基本的工程管理任务时相当费时费力。即使您能够掌握外部 VCS 工具,它们也只会处理工程与 VCS 相关的操作,如打开、克隆和还原。但是更广泛的工程管理,包括发布和 MCAD 交换呢?

DigiPCBA工作区提供了一个有效的解决方案,来满足从一个位置查看此类信息并与之交互的需求,并形成了工程历史的概念。可通过工作区的浏览器界面(DigiPCBA平台界面的组成部分)或从 Altium Designer 软件中访问工程历史。专用历史视图提供与工程相关的主要事件的渐进时间线 ,在适用的情况下支持各种行为,包括创建、提交、发布、克隆和建议的MCAD变化。

要充分利用此功能,需要在工作区内置的 VCS (Git) 下添加工程来完全管理您的工程。在工作区的浏览器界面中,始终会在本机 VCS 下创建一个新工程。在 Altium Designer 中,这是使用版本控制选项完成的,当创建一个新工程,或“使项目在线可用”时(并且该工程尚未受到外部版本控制),您将可以使用工作区和DigiPCBA平台提供的更多功能。

如果您的工程受外部版本控制,您可以将其迁移为工作区中的完全托管工程,该工程在服务器自己的 Git 存储库中托管设计文件(有效地切换到工作区的本机 VCS)。Altium Designer 的“使项目在线可用”对话框提供了一个Migrate to <server> Versioned Storage选项,该选项支持 VCS 迁移过程,而不是简单地在工作区中镜像工程结构。如果外部 VCS 工程已在工作区中作为镜像工程(简单同步)进行管理,则可以使用工程历史视图中的Migrate to Versioned Storage命令将其 VCS 文件迁移到工作区的本机 Git 存储库。此命令位于工程选项(Project Options)对话框的常规(General)选项卡,以及右键单击工程面板的工程名称中版本控制上下文菜单。

访问工程历史

从工程的详细管理页面可以访问工程的历史视图。单击左侧窗格中的历史条目。

选择需要的工程(在浏览器界面的工程页面上),点击工程列表上方 ,然后选择菜单中的打开条目打开此工程详细管理页面。或者,直接双击列表中所需的工程条目。该页面将在新的浏览器选项卡中打开。

图1 从工程详细管理页面访问工程的历史记录

对于在使用工程历史功能之前已经存在于工作区中的工程,其历史可能不完整。当首次访问该工程的历史视图时,将自动执行对该工程的事件数据的重新索引。重新索引完成后,通知将出现在视图底部 - 单击以使用完整的历史事件数据更新时间线。

历史时间表 - 概述

历史视图显示了工程发展过程中发生的基本事件的时间线。基本上可以分为三个关键部分,如下图所示并将在下文详细说明。

图2 历史视图的三个关键组成部分

  1. 时间线的主干 - 事件时间线的方向是自下而上。第一个事件,即工程的创建,将出现在时间线的底部。后续事件显示在上方,最新事件显示在时间线顶部。
  2. 事件 - 每次发生与工程相关的受支持事件(见下文)时,该事件都被记录并添加到时间线中。每种类型的事件都有不同颜色的图形,直接连接到时间线的主干或者旁边有一些附加图标(如 MCAD 交换事件)。
  3. 搜索 - 点击视图右上角的,可访问对工程历史进行基本搜索的搜索字段。当您键入搜索字符串时,将对时间线进行过滤以显示与该搜索相关的事件。

支持的事件

时间线显示了在工程生命周期中发生的事件的进展。这些事件中的每一个都沿时间线显示为专用的“事件图形”。以下部分主要说明工程历史时间线当前支持和可呈现的事件范围。

工程创建

创建工程后,“工程创建”事件图形将添加到时间线。这一事件标志着该工程历史时间线的开始。因此,它始终是时间线底部的条目。此事件的图形可以以两种不同的形式出现:

  • 在工作区中新创建工程时 - 工程的创建者按名称(和头像)以及工程创建的日期和时间显示。如果在创建时输入了工程描述,则该工程的描述也会显示在图形中。

图3 在工作区新创建工程

  • 当工程是现有工程的克隆时 - 创建克隆工程的人按姓名(和头像)以及工程创建的日期和时间显示。如果在克隆时输入了工程描述,则该工程的描述也会显示在图形中。并提供了指向原始工程的链接,单击该链接将访问源工程的详细管理页面,该页面在浏览器的单独选项卡上打开。

图4 在工作区克隆现有工程

“工程创建”事件图形通过实线蓝色连接线和节点物理连接​​到时间线的主干:

工程提交

只有被工作区 VCS(在其版本化存储Git 存储库中)完全管理和存储的工程才支持此类事件。对于已提供给工作区但不受正式版本控制(即使用简单同步方法)的非托管工程,您将不会在历史时间轴上看到任何与 VCS 相关的提交事件。要获取此信息,您可以通过启用“工程选项”对话框的“常规”选项卡上的版本控制选项来切换在线可用性的样式。这会将本机的此工程置于工作区VCS 之下。

对于已提交到工作区但已受外部版本控制的工程,您也不会在历史时间轴上看到任何与 VCS 相关的提交事件。需要使用您的外部版本控制客户端检查工程的版本控制历史。或者,您可以将本机的此工程切换到工作区的VCS下。Altium Designer 的“使项目在线可用”对话框提供了一个Migrate to <server> Versioned Storage选项,该选项支持 VCS 迁移过程,而不是简单地在工作区中镜像工程结构。如果外部 VCS 工程已在工作区中作为镜像工程(简单同步)进行管理,则可以使用Migrate to Versioned Storage将其 VCS 文件迁移到工作区的本机 Git 存储库。此命令位于右键单击工程面板工程名称上下文菜单中版本控制-工程历史视图或者工程选项对话框的General选项卡。

每次您将工程提交和推送到工作区(工程在工作区的内部版本化存储Git 存储库下管理)时,工程已提交事件图形将添加到时间线。执行提交和推送的人员按姓名(和头像)以及日期和时间显示。如果在提交和推送时添加了评论(通过提交到版本控制对话框),那么这也将显示在图形中。

如果该工程是一个本地的、非托管的工程,该工程随后可在线使用,则在“使项目在线可用”对话框中输入的描述将用于“工程创建”事件图形和初始“工程提交”事件图形中,因为工程的提交和推送是作为使项目在线可用的一部分执行的,当然前提是启用了版本控制选项。

图5 事件图形中显示设计差异信息

该图形还支持并显示设计差异信息,显示有关当前和先前提交之间发生了什么变化的更详细信息。支持的元素包括文件、元器件、网络、变量和 PCB 结构。图形中的差异部分总结了受提交事件​​影响的各种元素,按以下状态分组:

– 元素已添加。

– 元素已移除。

– 元素已修改。

点击图形中的控件将详细列出差异部分受影响的元素,并按名称显示。

使用显示更多隐藏来控制是否查看每种元素类型的完整列表。点击事件平铺中的控件以返回摘要显示。

点击图形右上角的控件打开菜单访问以下命令:

  • 克隆 – 使用此命令从工程的特定版本创建克隆。将出现“工程复制”窗口,用于确定工程名称描述上层文件夹(在工作区中)。请注意,窗口的标题文本反映了正在复制的工程修订版。根据需要定义信息,单击按钮。将创建工程,并将工程克隆事件添加到时间线。
默认情况下,上层文件夹将设置为原始工程的文件夹。单击字段右侧的更改以访问工作区的服务器文件夹结构,从中选择一个备用文件夹来存储克隆工程。您可以根据需要将工程组织到子文件夹的层次结构中。

图6 您可以从活动工程的任何特定修订版进行克隆

  • 下载快照 – 使用此命令可下载工程特定修订版的工程源代码,并创建 Zip 存档。Zip 文件和 PCB 工程文件的名称将包括提交的工程修订版推送到工作区的日期和时间(以 UTC 时间表示)。
已提交工程的事件通过蓝色实线连接线和节点连接​​到时间线的主干:。工程的最新版本(即最后一次提交)通过为其节点填充白色来区分:

工程发布

每次您使用 Altium Designer 的Project Releaser执行工程发布时,都会将工程发布事件添加到时间线中。执行发布事件的人按姓名(和头像)以及日期和时间显示。如果在将生成的数据发布到工作区时添加了发布说明(通过确认发布对话框)那么它也将显示在图形中。此图形还将列出发布中包含的每个数据集,并指示生命周期状态。

图7 工程发布事件示例

点击时间图形右上角的控件打开菜单访问以下命令:

  • View(查看) – 打开专用制造门户(在单独的浏览器选项卡上),用于更仔细地检查发布的数据。在这个门户中,您可以查看和导航已发布的文件数据、检查 BOM 以及查看和评论设计本身的快照及该发布数据的来源。您还可以访问控制以下载不同精度级别的制造数据(从完整数据集到单独生成的输出文件均可)。也可以选择其中的版本作为制造包直接发送给您的制造商。

图8 访问专用的制造门户选项卡,以更仔细地检查工程的发布。

  • Gerber to – 允许您将此版本生成的 Gerber 数据与另一组 Gerber 数据进行比较。使用相关的子菜单与先前版本的制造数据进行比较,从已为工程制作的所有版本中进行选择(时间线将被过滤以仅显示工程发布的事件图形),或与选择的本地生成的 (并上传)文件集进行比较。一旦选择了比较的目标,结果就会显示在Gerber 比较视图中,该视图在单独的浏览器选项卡中打开。

图9 比较设计工程的两个版本之间生成的 Gerber 数据

  • 下载 - 允许您通过后续窗口选择要下载发布包中的哪些数据集。做出选择后,单击按钮。将下载一个 Zip 存档,其中包含每个所选数据集的文件夹。
  • 下载快照 - 允许您下载用于创建该发布包的设计版本的快照,作为 Zip 存档。
由于工程的发布是一个非常重要的事件,因此“工程发布”事件图形变得更加突出 - 而不仅仅是“关联”事件,它作为“重大”事件横跨时间线。

工程克隆

每次您克隆工程时,无论是通过工作区的浏览器界面,还是从 Altium Designer 中,都会将一个工程克隆事件添加到时间线中。执行克隆的人按姓名(和头像)以及日期和时间显示。如果在克隆时添加了描述——通过工程复制窗口(基于浏览器)或工程复制对话框(Altium Designer)——那么它也将显示在事件图形中。事件图形还为克隆工程提供了一个链接,单击此链接将访问该工程的详细管理页面,该页面在浏览器的单独选项卡上打开。

图10 工程克隆事件示例

克隆命令可从工作区浏览器界面的工程页面或 Altium Designer 中获得(右键单击工程面板中的工程条目,或单击浏览工程时Explorer面板右上角的按钮),此命令将作用于工程的最新(或 Head)修订版。在历史视图中,您可以克隆工程的特定修订。为此,请找到工程所需修订的工程已提交事件图形,然后单击图形右上角的控件。从随后的菜单中,选择克隆命令。
工程克隆事件通过绿色虚线连接线和未填充的节点连接​​到时间线的主干:

建议的MCAD变化

在电子和机械设计领域一起工作时,工作区充当两者之间的桥梁——促进直接 ECAD-MCAD 协同设计。每当对工程的 PCB 设计进行更改并通过相关的 CoDesigner 面板将这些更改推送到工作区时,都会将MCAD 更改建议事件添加到时间线中。执行推送的人按姓名(和头像)以及日期和时间显示。如果在推送时发布了一条消息 - 通过MCAD CoDesigner面板 (Altium Designer) 或Altium CoDesigner面板(在支持的 MCAD 软件中) - 那么该消息也将显示在图形中。

当前仅支持推送的事件。

图11 建议的MCAD变化事件示例

当 MCAD 工程师在其支持的 MCAD 软件中对 PCB 进行更改并将这些更改推送到工作区时,相应的推送事件将自动显示在工程的历史时间线上。请注意,您可能需要在“历史”页面上执行刷新才能显示最新更改。

建议的MCAD变化事件未连接到时间线的主干,而是使用了指向时间线的方向箭头符号:

点击视图右上角的控件可访问搜索字段,使用该搜索字段可以沿时间线快速查找感兴趣的事件。搜索工具支持工程历史的基本搜索,在您键入搜索字符串时应用动态过滤 - 只留下与该搜索相关的事件显示在页面上。事件图形中的匹配文本被突出显示。

搜索工具不区分大小写。

图12 搜索工程历史的示例。当您键入(不区分大小写的)搜索词时,时间线会被动态过滤,匹配的条目会在每个相关事件图形中突出显示。

过滤选择的上方提供了一个信息框,该信息框显示的当前搜索事件数量,以及用于快速删除过滤器/搜索字符串的功能。

使用搜索工具可搜索以下信息:

  • 事件标题。
  • 执行该事件的人的姓名。
  • 描述性文本(相关事件发生时来自评论/注释/描述的文本)。
  • 差异数据文本 - 在工程已提交事件图形中。
  • 数据集名称 - 在工程发布事件图形中。
  • 工程名称 - 在工程克隆事件和工程创建事件图形中(通过克隆创建时)。
要清除当前过滤并返回完整时间线,请清除搜索字段 - 选择当前文本并按Backspace键,或单击该搜索框最右侧的。或者,单击汇总显示多少事件的信息框中的清除过滤器控件(在视图顶部)。

更新新事件

每当与工程相关的受支持事件发生时,该事件将被检测到并自动提供到历史视图。事件发生后不久,通知将出现在视图底部 - 单击控件以使新事件更新到时间线上。

还可以手动刷新,通过单击视图的右上角的控件。