创建或预览基线

您可以创建基线或预览要创建的基线。具有 ccm_admin 角色的构建管理员或用户可以使用一个或多个项目、基线或项目分组集创建基线。

关于此任务

ccm baseline -c|-create [(-p|-project project_spec)...]
             [(-bl|-baseline baseline_spec)...]
             [(-pg|-project_grouping project_grouping_spec)...]
             [-rehearse] [-r|-release release_spec] [-purpose purpose]
             [-d|-desc|-description description] 
             [-vt|-version_template version_template] [-b|-build build]
             [-s|-state state] ([-subprojects] | [-all_subprojects] |
             [-no_subprojects]) 
             ([-cpu|-check_project_update] | [-nocpu|-nocheck_project_update])
             [baseline_name]
-all_subprojects
指定包括属于所添加项目的所有子项目。此选项适用于使用 -project-project_grouping
-baseline 选项添加的项目。
-b|-baseline baseline_spec
如果将此选项与 -create 结合使用并且指定了基线规范,那么所指定的现有基线中的项目将添加到新基线中。

–subprojects-no_subprojects–all_subprojects 的使用会影响另外添加的子项目。

缺省情况下,如果使用 –baseline 而不使用 –project,那么将不包括子项目。但是,如果同时使用 –project–baseline,那么 –project 暗示的 –subprojects 默认值将覆盖 –baseline 暗示的 –no_subprojects 默认值。

baseline_name
指定向基线分配的名称。在创建基线时,可以向其分配任何合法的基线名称。

如果不指定 baseline_name,那么将自动向基线分配唯一名称。此缺省名称的格式为 yyyymmdd。如果需要,缺省名称的后面将紧跟下划线和递增数字以使该名称独一无二。例如,在 2002 年 4 月 1 日创建的第一个基线的缺省名称为 20020401。在同一天创建的第二个此类基线的缺省名称为 20020401_1

-b|-build build
指定新基线的构建号或标识。构建号或标识可以是任何单行的文本值。构建值通常包括某种格式的构建号。
-cpu|-check_project_update
指定在创建基线前检查是否有项目需要更新。这项检查将显示自从上次刷新项目分组集的基线和任务以来未更新过的项目。
缺省值由 ccm.cli.baseline.create.checkprojectupdate 设置确定。
-d|-desc|-description description
指定要用于新基线的描述。该描述是单行文本且不能包含任何换行符。
-nocpu|-nocheck_project_update
指定在创建基线前不检查是否有项目需要更新。
缺省值由 ccm.cli.baseline.create.checkprojectupdate 设置确定。
-no_subprojects
指定在添加项目时,不添加其子项目。此选项影响使用 -project-project_grouping-baseline 添加的项目。如果将某个子项目明确指定为项目或者所指定项目分组集或基线的成员,那么将包括该子项目。

如果未指定 -project_grouping-baseline,那么缺省值为
-subprojects。 如果指定了 -project_grouping-baseline,那么缺省值为 -no_sub_projects

-p|-project project_spec
指定向新基线添加一个或多个项目。缺省情况下,在添加项目时,还将添加其整个层次结构。您可以通过使用 no_subprojects 选项来覆盖缺省值。
-pg|-project_grouping project_grouping_spec
指定将所指定项目分组集中的项目添加到新基线中。缺省情况下,在添加项目分组集时,仅添加该项目分组集中的那些项目。不添加不属于该项目分组集的子项目。要覆盖此行为,请使用 –all_subprojects 选项。

–subprojects-no_subprojects–all_subprojects 选项影响将随项目分组集一起添加的子项目。

-purpose purpose
指定将用于新基线的用途。如果未指定,那么将使用以下优先顺序设置缺省用途:
  • 如果指定了基线,那么使用第一个指定的基线用途。
  • 如果未指定基线,但指定了项目分组集,那么指定第一个项目分组集用途。
  • 如果基线和项目分组集均未指定,那么使用第一个指定项目的用途。

purpose 是用于指定项目用途的设置(例如,隔离开发集成测试系统测试)。

如果指定 -purpose,那么还必须指定 -release

-rehearse
列出组成基线的项目和产品以及要创建的基线的名称。但不创建基线。

如果发现任何版本冲突,将显示警告,列出所有冲突的产品和项目版本。发生冲突的原因是生成的版本存在于新基线中,或者生成的版本不是合法的版本字符串。

-release release_spec
指定要用于新基线的发布标识。创建基线时,您可以指定一个活动的发布标识。如果未指定,那么将使用以下优先顺序设置缺省发布标识:
  • 如果指定了基线,那么使用第一个指定的基线发布标识。
  • 如果未指定基线,但指定了项目分组集,那么使用第一个指定的项目分组集发布标识。
  • 如果基线和项目分组集均未指定,那么 Synergy 将使用第一个指定项目的发布标识。

如果指定 -release,那么还必须指定 -purpose

-state state
请在创建基线时指定基线的状态。在创建基线时,有效的状态包括 test_baselinepublished_baselinereleased。基线的缺省状态是 test_baseline。开发者可以看到处于此状态的基线,并且可以手动使用此基线;但是他们不会使其自动成为最新基线。SQE 可将此基线用于测试。在其通过测试后,构建管理员必须将测试基线移至 published_baseline 以使其可供开发者使用。

创建已发布状态的基线相当于创建 published_baseline 状态的基线并将其发布。

-subprojects
指定包括其发布标识与要添加的项目的组件名称相匹配的子项目。组件名称必须完全匹配。没有组件名称的发布标识只能与其他没有组件名称的发布标识匹配。

此选项适用于使用 -project-project_grouping
-baseline 选项添加的项目。如果未指定 -project_grouping
-baseline,那么这是缺省行为。如果指定了 -project_grouping-baseline,那么缺省值为 -no_subprojects

-vt|-version_template version_template
指定要用于新基线中任何项目或产品的版本模板。在该命令期间创建的新项目和产品使用 version_template 作为其版本。

version_template 是带有可选关键字的任何字符串,格式为 %keyword 或 %{keyword}。关键字可以是任何 Rational Synergy 属性或内置关键字。

当展开某个属性时,将使用所检查的构建管理项目或产品中的相应属性值。如果未找到指定关键字名称的属性或内置关键字,那么空字符串将替换该关键字。

如果基线中任何项目或产品的 version_template 实例包含版本字符串不允许的字符,那么这些字符将替换为缺省版本字符串替换字符。此设置在服务器 ccm.ini 文件中通过 baseline_template_repl_char 选项进行指定。 缺省字符是下划线 (_)。例如,如果 %platform 属于某个版本模板,并且构建管理项目具有平台 SPARC-solaris,那么版本字符串将包含字符串 SPARC_solaris。或者,如果 %release 属于某个产品版本模板,并且必备产品的发布标识为 CM/6.5,那么版本字符串将包含字符串 CM_6.5

如果基线中任何项目或产品的 version_template 实例已用于该项目或产品的其他版本,那么版本将通过附加下划线 (_) 和使版本唯一的第一个整数(从 1 开始)来使版本独一无二。如果这导致版本字符串太长,那么将对该项目或产品使用基于当前日期的版本,并显示警告。

如果未指定 –version_template,将使用缺省模板。有关更多信息,请参阅 baseline 命令中的“版本模板规范”。

如果项目的工作区模板包括版本,那么将更新工作区。如果由于工作区不可见且未使用 -skip_nonvisible_projects 而导致工作区无法更新,那么操作将继续并报告所有错误。如果工作区可见,但由于其他原因(例如,缺少适当的文件许可权或缺少磁盘空间)而无法更新,那么操作将继续并报告所有故障。

示例


反馈