版本控制
版本控制允许您创建和管理实体,同时维护这些实体以前的版本。
概述
在启用了版本控制的项目中,可以创建和管理实体,同时维护这些实体的先前版本。版本控制功能在以下模块中可用:需求、业务模型、测试计划、业务组件和测试资源。
要对已启用版本控制的项目中的实体进行更改,必须首先签出实体。签出实体时,会锁定该实体,以防止其他用户覆盖所做的任何更改。实体的签出版本对其他用户不可见。
完成更改后,请签入实体。实体的新版本随后将对其他用户可用。
可以查看实体的所有先前版本,或签出较早的版本。还可以比较实体的两个版本,以查看版本之间的变更。
Note: 版本控制仅应用于单个实体。为维护可用性和数据完整性,存储实体的先前版本,而不存储与实体间关系有关的数据。实体签入时,仅存储单个实体的数据。不存储版本的以下数据:需求和测试覆盖率、需求可跟踪性和缺陷链接。此外,也不存储实体先前版本的风险数据。
基线提供一组实体以及它们之间的关系的快照。有关详细信息,请参阅基线概述。
版本控制使用示例
以下示例演示您何时可以使用版本控制。
监控变更和比较版本
产品经理 Kelly 发现实施中的产品开发不同于她的预期。她检查产品需求,发现部分需求已更改。她将当前需求与发布开始时达成的需求版本进行比较。
恢复较早的版本
QA 测试者 Michael 收到当前正在开发中的银行应用程序的新内部版本。他开始更新相关测试以满足新发布的需要。然后,开发团队发出有关内部版本的重要问题的通知。开发回滚到以前的内部版本。Michael 决定签出并恢复到用于以前内部版本的测试版本,并从那里继续测试。
锁定实体以进行编辑
业务分析师 Robert 希望更新应用程序的某些功能。为此,他需要更新一组需求。他需要几天时间来更新需求,并且在编辑它们时不希望其他任何人对需求进行更改。Robert 签出相关需求并开始编辑。
使用版本控制
此任务描述如何在项目中使用版本控制。版本控制允许您创建和管理实体,同时维护这些实体以前的版本。
验证是否已启用项目的版本控制。有关详细信息,请参阅启用或禁用项目的版本控制。
在对已启用版本控制的项目中的实体进行更改之前,必须签出实体。
使用以下方法之一签出实体:
自动签出 |
开始编辑实体时,将显示“签出”对话框,允许您签出实体。 |
手动签出 |
执行以下某项操作:
|
由当前用户签出的实体显示时带有一个打开的绿锁图标 。由另一位用户签出的实体显示时带有一个红锁图标
。
签出实体后,可以撤消签出以取消变更。
要撤消签出,请右键单击实体,选择“版本”>“撤消签出”。
要撤消其他用户对实体的签出,必须具有相应的用户权限。有关详细信息,请参阅管理组和权限。
撤消签出时,签出实体时对非版本字段所做的任何更改都不会取消,并保留新值。
完成更改后,请签入实体以创建对其他用户可用的新的更新版本。
使用以下某个选项:
签入单个实体 | 右键单击实体,选择版本 > 签入。 |
签入多个实体 | 选择实体。在模块工具栏上,单击签入 ![]() |
可以在当前模块中查看已经签出的所有实体,并签入或撤消签出选定实体。
执行以下某项操作:
-
在窗口的右上角单击“签入”
。
-
从模块菜单栏,选择版本 > 待定签入。
在启用了版本控制的项目中,可以比较实体的两个版本。
要比较一个实体的两个版本,请选择实体,单击“历史记录”>“版本”选项卡,选择两个版本,然后单击“比较”。
移动、复制或删除签出的实体时,请考虑以下准则。
对于单个实体
描述 |
剪切/粘贴或移动 |
复制/粘贴 |
删除 |
---|---|---|---|
由当前用户签出的实体 |
|
|
|
由另一个用户签出的实体 |
|
粘贴当前签入版本。 |
|
对于包含若干实体的文件夹
剪切/粘贴或移动 |
复制/粘贴 |
删除 |
---|---|---|
|
必须签入文件夹中的所有实体。 |
必须由当前用户签入或签出文件夹中的所有实体。 |
对于若干实体(多选)
剪切/粘贴或移动 |
复制/粘贴 |
删除 |
---|---|---|
必须由当前用户签入或签出所有选定实体。 |
必须签入所有选定实体。 |
必须由当前用户签入或签出所有选定实体。 |
版本控制字段
下表列出模块中可用的版本控制字段。
字段 |
描述 |
---|---|
版本日期 |
对版本执行的上一个操作(签入或签出)的日期。 仅在“测试计划”模块中可用。 |
版本签出日期 |
签出版本的日期。 不适用于“测试计划”或“测试资源”模块。 |
版本签出时间 |
签出版本的时间。 不适用于“测试计划”或“测试资源”模块。 |
版本签出者 |
签出版本的用户名。 不适用于“测试资源”模块。 |
版本号 |
分配给新实体的版本号是 |
版本状态 |
版本状态 (“签出”或“签入”)。 不适用于“测试资源”模块。 |
版本拥有者 |
执行上一个操作(签入或签出)的用户的名称。 仅在“测试计划”模块中可用。 |
版本时间 |
对版本执行的上一个操作(签入或签出)的时间。 仅在“测试计划”模块中可用。 |
根据版本控制字段筛选
您可以筛选项目数据,以仅显示“需求”、“业务模型”、“测试计划”、“测试资源”和“测试实验室”模块中签出的实体。
下表描述如何设置筛选条件:
筛选描述 |
测试计划模块的筛选条件 |
所有其他模块的筛选条件 |
---|---|---|
显示已签出的所有实体 |
版本状态=已签出且版本拥有者=<您的用户名> |
版本签出者=<您的用户名> |
显示由另一位用户签出的所有实体 |
版本状态=已签出且版本拥有者=<其他用户的用户名> |
版本签出者=<其他用户的用户名> |
有关定义筛选的详细信息,请参阅筛选对话框。
非版本控制的字段
使用版本控制时,对以下字段所做的更改不存储在实体的先前版本中:
实体 |
字段 |
---|---|
需求 |
|
测试 |
执行状态 |
在已启用版本控制的项目中使用非版本字段时,请考虑以下内容:
操作 |
结果 |
---|---|
撤消签出 |
签出实体时,对非版本字段所做的任何更改都不会取消,并保留新值。 |
签出以前的版本 |
非版本字段的值是当前签入版本中的值。 |
查看和比较以前的版本 |
非版本字段和非版本字段值一起显示。 查看和比较以前的版本时,不显示版本控制数据未存储的页面,如“链接的实体”页或“需求可跟踪性”页。 |