[line 145]
Subversion Move command manager class
Move and/or rename something in working copy or repository.
Note: this subcommand is equivalent to a 'copy' and 'delete'.
SRC and DST can both be working copy (WC) paths or URLs: WC -> WC: move and schedule for addition (with history) URL -> URL: complete server-side rename.
Copies must include a message option (either with 'm', 'message', 'file' or 'F' keys), but the message itself may be blank.
$switches is an array containing one or more command line options defined by the following associative keys:
$switches = array(
'm [message]' => 'Specified commit message',
// either 'm' or 'message' may be used
'F [file]' => 'Read commit message data from specified file',
// either 'F' or 'file' may be used
'q [quiet]' => true|false,
// prints as little as possible
'force' => true|false,
// force operation to run
'r [revision]' => 'ARG (some commands also take ARG1:ARG2 range)
A revision argument can be one of:
NUMBER revision number
"{" DATE "}" revision at start of the date
"HEAD" latest in repository
"BASE" base rev of item's working
copy
"COMMITTED" last commit at or before BASE
"PREV" revision just before COMMITTED',
// either 'r' or 'revision' may be used
'force-
log' => true|false,
// force validity of log message source
'username' => 'Subversion repository login
',
'no-auth-cache' => true|false,
// Do not cache authentication tokens
'encoding' => 'ARG',
// treat value as being in charset encoding ARG
'config-
dir' => 'Path to a Subversion configuration directory'
);
Note: Subversion does not offer an XML output option for this subcommand
The non-interactive option available on the command-line svn client may also be set (true|false), but it is set to true by default.
The editor-cmd option available on the command-line svn client is not available since this class does not operate as an interactive shell session.
Usage example: <?php
require_once 'VersionControl/SVN.php';
// Set up runtime options. Will be passed to all
// subclasses.
// Pass array of subcommands we need to factory
// Define any switches and aguments we may need
$switches = array('m' => 'Whoops! How did this get here?', 'username' => 'user', 'password' => 'pass');
$args = array(
'svn://svn.example.com/repos/TestProj/trunk/somedir', // SRC
'svn://svn.example.com/repos/TestProj/trunk/lowerlevel/somedir' // DST
);
// Run command
try {
}
?>