si configuresandbox
configures Sandbox properties
Synopsis
si configuresandbox [--lineTerminator=[lf|cr|crlf|native]] [--[no]sparse] [--scope=[subproject:subprojectConfigurationPath|attribute:name[=value]|path:expression|name:expression|type:text|binary|memberrevlabellike:expression|anyrevlabellike:expression|any]] [--hostname=server] [--port=number] [--password=password] [--user=name] [(-?|--usage)] [(-F file|--selectionFile=file)] [(-N|--no)] [(-Y|--yes)] [--[no]batch] [--cwd=directory] [--forceConfirm=[yes|no]] [(-g|--gui)] [--quiet] [--settingsUI=[gui|default]] [--status=[none|gui|default]] sandbox location...
Description
Integrity Lifecycle Manager provides a way to configure the following Sandbox properties: line terminator, sparse settings, and Sandbox scope. For example,
si configuresandbox --lineTerminator=cr --sparse --scope=name:*.java c:/Aurora_Program/bin/Libra/project.pj
Options
This command takes the universal options available to all
si commands, as well as some general options. See the
options reference page for descriptions.
• ---lineTerminator=[lf|cr|crlf|native]
explicitly identifies the characters to use as the line terminator for this Sandbox. lf is a line feed character, crlf is the combination of the carriage return and line feed characters, and native uses the default line terminator in the client operating system: crlf in Windows, cr in Mac OS, and lf in UNIX.
|
When you create a Sandbox Integrity Lifecycle Manager remembers the setting of the line terminator, and all checkouts (using si co) and resyncs (using si resync) in that Sandbox use the same line terminator setting. If you want to override the line terminator on an individual member, you must use some utility such as the MKS Toolkit flip command.
|
• --[no]sparse
controls whether or not to make the Sandbox sparse.
Making the Sandbox sparse with
--sparse affects the way the Sandbox behaves with the
si ci check in command and the
si co check out command, as well as
si resync. The intent of a sparse Sandbox is that it contains only those working files that are actively being worked on by you at the time. Using
si ci to check in a member to a sparse Sandbox removes the working file from the Sandbox (unless you did a check in locked, using the
-l option). Similarly, using
si resync on the Sandbox will by default remove the working files for those members which are not locked by you, although you can override this with
si resync--populate in a sparse Sandbox, which in effect causes the resync to behave like it does in a "normal", non-sparse Sandbox.
• --scope=[subproject:subprojectConfigurationPath|attribute:name[=value]|path:expression|name:expression|type:text|binary|memberrevlabellike:expression|anyrevlabellike:expression|any]
defines what subprojects, members, or both subprojects and members are included in the Sandbox, and transfers specific members from the
Integrity Lifecycle Manager Server to the Sandbox directory. For a more detailed overview of scoped Sandboxes, see the
si createsandbox command.
You can include or invert (!) one or more of the following options:
◦ --scope=subproject:subprojectConfigurationPath specifies one or more subprojects, where the subproject name is relative to its parent. Subproject scope cannot be inverted.
To avoid potential ambiguities, the subproject name must specify the subproject using a Sandbox-relative source configuration path. PTC recommends that you use explicit non-compact keyword string syntax to match the path definition defined in the GUI instead of using compact hash syntax.
To specify a logical OR operator, separate each option with a comma. For example, for project/project.pj, include subprojects with --scope=subproject:s#=sub1/project.pj, subproject:s#=sub2/project.pj to define the scope as including sub1 or sub2. This option is case-sensitive. Joining subproject scope clauses with a logical AND operator is not supported.
◦ --scope=attribute:name[=value] specifies project members with an attribute or an attribute set to a value. For example, include members with --scope=attribute:Beta or do not include members with --scope=!attribute:OS=Windows. This option is case-sensitive.
◦ --scope=path:expression specifies project members that reside in a directory, relative to the top-level Sandbox, for example, watch/lib/*. The specified path does not differentiate between subdirectories and subproject names. This means that you cannot specify individual co-located subprojects.
For example, if you create a scoped Sandbox from the following top-level project:
/p1/project.pj
with the following subprojects and members:
/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
specifying --scope=path:sub1 matches /p1/sub1/aa.txt and /p1/sub1/dd.txt or specifying --scope=path:*sub1 matches /p1/sub1/aa.txt, /p1/sub1/bb.txt, /p1/sub2/sub1/cc.txt, and /p1/sub1/dd.txt.
|
If the client OS is a case-sensitive file system and the database repository on the server is case-sensitive, the --scope=path:expression and --scope=name:expression options are case-sensitive. Otherwise, these options are case-insensitive.
|
◦ --scope=name:expression
specifies project members with a name or file extension. A name is only valid for a file name, not a leading directory prefix. For example, include members with --scope=name:Readme.txt or do not include members with --scope=!name:*.java.
◦ --scope=memberrevlabellike:expression specifies project members with a label at member revision. For example, include members with --scope=memberrevlabellike:TEST or do not include members with --scope=!memberrevlabellike:TEST. This option is case-sensitive and accepts wildcards (* and ?).
◦ --scope=anyrevlabellike:expression specifies project members with a label at any revision. For example, include members with --scope=anyrevlabellike:PROD or do not include members with --scope=!anyrevlabellike:PROD. This option is case-sensitive and accepts wildcards (* and ?).
◦ --scope=type:binary|text specifies project members that are a binary or text archive type. For example, include members with --scope=type:binary or do not include members with --scope=!type:text.
◦ --scope=any specifies all project members. This is the default setting.
Using Logical Operators to Define Sandbox Member Scope
You can also combine Sandbox member scope selections using logical AND or OR operators, and invert Sandbox scope selections by preceding each member selection with a ! character. An AND operator is specified as a --scope option. For example, to transfer project members with the member attributes Alpha AND Beta, specify --scope=attribute:Alpha--scope=attribute:Beta. An OR operator is specified as a comma between values in a --scope option. For example, to transfer project members with member attributes Alpha OR Beta OR GA, specify --scope=attribute:Alpha,attribute:Beta,attribute:GA. You can combine logical operators to create more complex Sandbox scope selctions. For example, to transfer project members with member attributes Alpha OR Beta OR GA AND name *.java, specify --scope=attribute:Alpha,attribute:Beta,attribute:GA--scope=name:*.java.
|
Using the si createsandbox and si configuresandbox commands, you can create and edit more complex Sandbox member scope definitions than the GUI using a combination of logical AND or OR operators; however, these definitions may not always be editable from the GUI. If you attempt to edit a complex member scope definition from the GUI, Integrity Lifecycle Manager truncates the definition to what the GUI is capable of displaying. If you attempt to edit a complex scope definition using the si configuresandbox -g/gui command, Integrity Lifecycle Manager displays a warning message that choosing to edit the member scope definition removes the options the GUI is not capable of displaying.
|
• sandbox location...
specifies the path of the Sandbox directory including the project file. For example, C:\sourcecode\framework\scripts\project.pj.
Diagnostics
See the
diagnostics reference page for possible exit status values.
Preferences
Using
si setprefs or
si viewprefs, you are able to set or view the preference keys for this command.
See Also