CLI Reference > Configuration Management Commands > si move
 
si move
moves one or more project members between projects, or between directories in a single project
Synopsis
si move [(--cpid=ID|--changePackageId=ID)] [--[no|confirm]closeCP] [--[no]confirm] [--[no]defer] [-f] [--issueId=ID] [--[no]moveWorkingFile] [--[no]failOnAmbiguousProject] [--[no|confirm]overwrite] [--[no|confirm]branchVariant] [--[no]createSubprojects] [--targetDevpath=value] [--targetDir=value] [--targetProject=value] [--targetSandbox=value] [--filter=filteroptions] [(-P project|--project=project)] [(-S sandbox|--sandbox=sandbox)] [--devpath=path] [--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]] member...
Description
As software designs and project structures change, it may become necessary to move one or more members between projects, variants of the same project, or directories in a project.
Moving a member performs a drop in the source location and an add in the target location, creating a new revision in the existing archive. The member’s archive remains in its original location in the repository so that change packages, member histories, and project histories continue to work. If the move is performed with a change package, the member is added as a single Move entry in the change package. If you are moving multiple members, any common directory prefix shared by the members is automatically removed during the move.
Key Considerations
Moving members between projects on different servers is not supported.
You can perform deferred member moves only if both the source and target locations are sandboxes.
si move does not work recursively on subprojects. To move one or more subprojects, use the si movesubproject command.
Integrity Lifecycle Manager detects whether any ACLs exist in the tree defined by the source project, the target project, and the common root between them (or the global ACL, if there is no common root). If any ACLs are found, Integrity Lifecycle Manager warns you so you can manually make any required adjustments to the ACLs after the move is complete.
The following is an example of the command syntax:
si move --confirm --targetProject=c:/Aurora_Program/bin/project.pj c:/Aurora_Program/bin/Libra/code.c
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.
--[no|confirm]closeCP
controls whether to close the associated change package.
--nocloseCP means do not close the change package.
--confirmcloseCP means ask before closing the change package.
--closeCP always closes the change package.
--[no]confirm
controls whether to confirm the move before proceeding.
--[no]defer
controls whether to delay the move operation in the project until the deferred operation is submitted. The move operation in the sandbox still takes place immediately. This option is available only if the source and target are sandboxes.
-f
forces the move without confirmation.
--[no|confirm]overwrite
controls whether to overwrite the working file if it exists. This option is valid only if you are moving one or more members from a source sandbox to a target sandbox.
--[no]moveWorkingFile
controls whether to move the working file into the sandbox immediately. This option is valid only if you are moving one or more members from a source sandbox to a target sandbox.
--[no]createSubprojects
controls whether to create subprojects in existing directories that do not contain subprojects.
--targetDevpath=value
specifies the target development path (for variant projects). This is a label that was associated with a branch of the project by si createdevpath. Paths that include spaces must be enclosed by quotes. The following characters may not be used in a development path: \n, \r, \t, :, [', '], #.
* 
This option cannot be used if you specify a target project using a keyword string for the --targetProject option.
--targetDir=value
specifies the subdirectory in the destination project or sandbox’s directory that you want to move the member(s) to.
--targetSandbox=value
specifies the name of the target sandbox (can be used as a project redirector).
--targetProject=value
specifies the name of the target project. For information on how to specify a project, see the options reference page.
--[no|confirm]branchVariant
controls whether Integrity Lifecycle Manager create a branch for the moved member in the target location.
member...
identifies a member to move; use spaces to specify more than one member.
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
Commands: si co, si rename, si movesubproject
Miscellaneous: ACL, diagnostics, options, preferences