用户帮助 > 在沙盒中管理您的个人工作区 > 创建沙盒
  
创建沙盒
CLI EQUIVALENT 
si createsandbox
创建沙盒后,便可将子项目或成员添加至该沙盒中。该项目随后会被更新,以反映增加新的项目成员。
要在 GUI 中创建沙盒,请选择“沙盒” > “创建”“文件” > “新建” > “沙盒”,然后按照“‘创建沙盒’向导”中的说明进行操作。
* 
虽然可以在单个目录中创建多个沙盒,但不建议这么做。
指定沙盒所基于的项目
您可以键入或选择沙盒所基于的项目。
如果您要在 GUI 中创建变型或构建沙盒,则最初只输入根项目的路径和名称。稍后在过程中指定子项目。指定子项目时,会有规则控制您可跳转至的项目配置。如果您的选择违反这些规则,则无法创建沙盒。
选择沙盒类型
创建沙盒时,可以创建下列类型:
“截至”会基于截至指定日期的项目配置(基于日期的项目配置)创建沙盒。选择“截至”选项后,“项目分支”选项将可用于指定分支 ID 值。指定分支 ID 是为已删除的开发路径指定基于日期的项目配置的唯一方式。分支 ID 是开发路径所在分支的 ID。例如,如果开发路径上的上一检查点项目修订版本 1.1.1.2,则分支 ID 为 1.1.1。
有关详细信息,请参阅 使用基于日期的项目配置
“当前配置”会根据所选项目或子项目的现有配置创建沙盒。按照显示的配置信息配置新沙盒。
“正常”会根据主线上的工作项目创建沙盒。
“变型”会根据特定开发路径上的项目创建沙盒。
* 
如果没有可用的开发路径,则“变型”选项不可用。
“开发路径名称”列表中不会显示已取消激活的开发路径。
“构建”会根据主项目的特定检查点创建沙盒。您可以通过检查点编号或标签指定检查点。
* 
如果使用基于关键字的字符串(可通过它跳转至变型或构建项目)在“项目名称”字段中指定沙盒所基于的项目,则无法选择要创建的沙盒类型。单击“完成”后,会根据指定项目的配置为您创建变型或构建沙盒。
如果您选择“当前配置”,则基于子项目创建的沙盒将采用沙盒创建后执行任何子项目重新配置。
如果您选择“正常”“变型”“构建”,则选择子项目后,沙盒不会采用对该子项目创建沙盒后执行的子项目重新配置。在这种情况下,沙盒将仅采用使用“指定项目的一个子项目”面板选择的其他子项目上的子项目重新配置。
指定沙盒范围
对于含有诸如源代码、模拟文件、校准文件和文档等混合内容的大型项目,从这些项目创建完整的沙盒会影响 Windchill RV&S 客户端的性能并消耗大量的网络带宽。虽然您可能需要项目(子项目)中的所有组件,但您可能只需要使用某些子项目、文件或文件类型。
通过指定沙盒范围,您可定义沙盒中包括的子项目和/或成员。沙盒范围确定在创建或重新同步沙盒时,将哪些特定子项目和/或成员从 Windchill RV&S 服务器传输至沙盒目录。指定沙盒范围可大幅提升“创建沙盒”操作的性能、减少网络流量,并且能更加容易地找到需要使用的相关子项目和/或成员。
“沙盒向导”中的“选项” > “沙盒范围”下方,单击“更改范围”
要定义沙盒的子项目范围,请单击“子项目中的成员”复选框,然后单击“选择”选项以指定需要范围内的哪些子项目。您可以选择父节点以自动选择该父节点内的所有子项子项目。在树的下方位置选择子项目时,更高的父节点会显示部分节点选择图标 。一旦选定了某个父节点及其所有子项,则无法取消选择该选定父节点的单个子项。
在 GUI 中,将使用明确非压缩关键字字符串语法显示路径。例如:
#s=sub/project.pj#s=sub2/project.pj#s=sub3/project.pj
有关使用基于关键字的字符串的源配置路径的详细信息,请参阅 CLI 手册页 的选项页面。
沙盒创建后,文件系统上的相关文件夹结构将仅包括范围内的选定子项目。
要定义沙盒成员范围,请单击复选框以包括 () 或反转 () 下列一个或多个选项:
选项
说明
所有成员
所有项目成员。这是默认设置。
具有下列属性的成员
属性或属性集被设置为值的项目成员,例如,BetaOS=Windows。此选项区分大小写。
具有下列路径的成员
位于相对于顶层沙盒的目录中的项目成员,例如,watch/lib/*。指定的路径不会区分子目录与子项目名称。这意味着您无法指定已归置的各个子项目。
例如,从下列顶层项目创建一个已设定范围的沙盒:
/p1/project.pj
具有下列子项目和成员:
/p1/sub1/project.pj
/p1/sub1/aa.txt
/p1/sub1/bb.txt
/p1/sub1/dd.txt
/p1/sub2/project.pj
/p1/sub2/sub1/cc.txt
指定 sub1 匹配项 p1/sub1/aa.txtp1/sub1/dd.txt
或指定 *sub1 匹配项 /p1/sub1/aa.txt/p1/sub1/bb.txt/p1/sub2/sub1/cc.txt/p1/sub1/dd.txt
* 
如果客户端 OS 是一个区分大小写的文件系统,且服务器上的数据库存储库区分大小写,则此选项区分大小写。否则,此选项不区分大小写。
具有下列名称的成员
具有名称或文件扩展名的项目成员,例如,Readme.txt*.java。名称只能用作文件名(而非目录前缀)。
* 
如果客户端 OS 是一个区分大小写的文件系统,且服务器上的数据库存储库区分大小写,则此选项区分大小写。否则,此选项不区分大小写。
在成员修订版本上具有标签的成员
在成员修订版本上具有标签的项目成员,例如,TEST。此选项区分大小写并接受通配符(* 和 ?)。
在任何修订版本上具有标签的成员
在任何修订版本上具有标签的项目成员,例如,PROD。此选项区分大小写并接受通配符(* 和 ?)。
具有下列存档类型的成员
存档类型为 BinaryText 的项目成员。
所选内容组合方式
逻辑“与”
逻辑“或”
使用逻辑“与”或者逻辑“或”运算符可组合多个沙盒范围选项。例如,要包括具有成员属性 Beta 和名称 *.java 的项目成员,请将“具有属性”设置为 Beta,将“具有下列名称的成员”设置为 *.java,并启用“逻辑‘与’”
* 
借助 si createsandbox 命令,您可以使用逻辑“与”或者“或”运算符的组合来创建和编辑更复杂的沙盒范围定义,但从 GUI 可能并非始终能编辑这些定义。如果您尝试从 GUI 编辑复杂范围定义,Windchill RV&S 会将定义截断为 GUI 能显示的长度。如果您尝试使用 si configuresandbox -g/gui 命令编辑复杂范围定义,则 Windchill RV&S 会显示警告消息,指出选择编辑范围定义会移除 GUI 无法显示的选项。
创建沙盒后,“沙盒”视图中的标题栏会显示“已设定范围的沙盒”路径和项目
在使用“沙盒信息”对话框中的“‘创建沙盒’向导”,或者使用 si configureandbox 命令创建创建沙盒时,您可以查看并更改范围定义。
对范围定义所做的更改会自动反映在“沙盒”视图中。超出范围的子项目将自动从视图中隐藏,除非磁盘上存在对应的文件夹。如果沙盒中的工作文件不再符合范围定义,则具有这些工作文件的成员会显示增量,但仍保留在沙盒中。选择其中一个成员表示存在工作文件,而且该成员与沙盒范围不匹配。执行重新同步操作以从沙盒中移除超出范围的成员和子项目。
请注意下列事项:
同时定义沙盒的子项目范围和成员范围时,系统会使用逻辑“与”操作将成员范围定义与子项目范围定义组合起来。只有范围内子项目内的范围内成员才会包括在“沙盒”视图中。
沙盒的范围会随沙盒一起保存,而且在关闭并重新启动沙盒或 Windchill RV&S 客户端后依然存在。可以具有两个包含同一项目的沙盒,每个沙盒均具有不同的沙盒范围。
对于未来的“创建沙盒”操作,您可以在“创建沙盒”命令的首选项中设置沙盒成员范围。
新的子项目和/或成员会受沙盒范围影响。
例如,如果沙盒范围包括属性名称和值为 OS=Windows 的项目成员,而且您在未设定范围的沙盒中添加具有该属性名称和值的项目成员,则该成员会作为新成员显示在已设定范围的沙盒中。重新同步成员会将工作文件添加至沙盒中。如果在未设定范围的沙盒中添加不具有属性名称和值的项目成员,则该成员不会显示在设定范围的沙盒中。
如果您在未设定范围的沙盒中使用 Windchill RV&S 客户端添加了新的子项目,则该子项目在已设定范围的沙盒中将不可见,因为不会在磁盘上创建该文件夹。但是,如果您使用 CLI 添加了新的子项目,则会在磁盘上创建对应的文件夹,且该子项目在“沙盒”视图中可见。
您可以执行的其他操作可能会导致沙盒中出现与当前沙盒范围不匹配的子项目或成员。例如,您可以使用 --resyncIfOutOfScope 重新同步更改包,以重新同步范围内和超出范围的子项目和成员。您也可以修改成员,使其不再与沙盒范围匹配、添加与沙盒范围不匹配的新成员,或者更新沙盒范围定义。
定义沙盒成员有别于通过 si viewsandbox 命令使用视图筛选器筛选成员。沙盒范围会确定哪些子项目和成员最初包括在沙盒中并在重新同步时传输至文件系统。您可以通过视图筛选器进一步筛选“沙盒”视图中显示的成员。例如,如果您创建了一个已设定范围,并且包括具有属性名称/值 OS=Windows 的成员的沙盒,则您的沙盒将仅包括与该范围相匹配的成员。然后,您可以对沙盒应用“已锁定成员”筛选器,以仅显示与该沙盒范围相匹配且具有锁的成员。具有锁但与范围不匹配的项目的成员不会显示在视图中。
范围和稀疏选项相互独立,例如,您可以创建一个设定范围的稀疏沙盒。
您可以通过使用“沙盒”视图中的“筛选器”列表和“视图” > “选择”命令来管理超出范围的子项目和/或成员。要仅显示沙盒中的工作文件与当前沙盒范围定义不匹配的成员,请从“沙盒”视图“筛选器”列表中选择 Out of Scope Members。要仅显示沙盒中的工作文件与当前沙盒范围定义不匹配的成员,请选择“视图” > “选择”,然后启用“超出范围的成员”选项。