public function copyPath($fromPath, $toPath, $commitMessage)
    {
        $this->_validateSvnConfig();

        $user = escapeshellarg($this->svnUsername);
        $pw = escapeshellarg($this->svnPassword);
        $fromPath = trim($fromPath, '/');
        $toPath = trim($toPath, '/');

        $fromPath = "{$this->svnRepository}/$fromPath/";
        $toPath = "{$this->svnRepository}/{$toPath}/";

        $svn = "svn copy --username {$user} --password {$pw} {$fromPath} {$toPath} --non-interactive -m \"{$commitMessage}\"";

        $this->Logger->debug($svn);

        $revision = trim(shell_exec($svn));

        $this->Logger->debug($revision);

        if(strpos($revision,'Committed revision') === FALSE) {
            throw new SubversionToolsException("Subversion copy failed.");
        }

        return $toPath;
    }
public function copyPath($fromPath, $toPath, $commitMessage)
    {
        $this->_validateSvnConfig();

        $user = escapeshellarg($this->svnUsername);
        $pw = escapeshellarg($this->svnPassword);
        $fromPath = trim($fromPath, '/');
        $toPath = trim($toPath, '/');

        $fromPath = "{$this->svnRepository}/$fromPath/";
        $toPath = "{$this->svnRepository}/{$toPath}/";

        $svn = "svn copy --username {$user} --password {$pw} {$fromPath} {$toPath} --non-interactive -m \"{$commitMessage}\"";

        $this->Logger->debug($svn);

        $revision = trim(shell_exec($svn));

        $this->Logger->debug($revision);

        if(strpos($revision,'Committed revision') === FALSE) {
            throw new SubversionToolsException("Subversion copy failed.");
        }

        return $toPath;
    }
public function copyPath ( $ fromPath , $ toPath , $ commitMessage ) { $ this -> _validateSvnConfig ( ) ; $ user = escapeshellarg ( $ this -> svnUsername ) ; $ pw = escapeshellarg ( $ this -> svnPassword ) ; $ fromPath = trim ( $ fromPath , '/' ) ; $ toPath = trim ( $ toPath , '/' ) ; $ fromPath = "{$this->svnRepository}/$fromPath/" ; $ toPath = "{$this->svnRepository}/{$toPath}/" ; $ svn = "svn copy --username {$user} --password {$pw} {$fromPath} {$toPath} --non-interactive -m \"{$commitMessage}\"" ; $ this -> Logger -> debug ( $ svn ) ; $ revision = trim ( shell_exec ( $ svn ) ) ; $ this -> Logger -> debug ( $ revision ) ; if ( strpos ( $ revision , 'Committed revision' ) === FALSE ) { throw new SubversionToolsException ( "Subversion copy failed." ) ; } return $ toPath ; }
Performs an svn copy of a repository path to another svn path in the same repository

fromPath and toPath should contain only the most specific portion of the
SVN repository URL needed to make the copy.

For example, a from path could be 'trunk' and to path 'tags'. Another example
would be copying from trunk to a branch, such as:
$fromPath: 'trunk'
$toPath: 'branches/plugins/crowdfusion-plugin/1.1.0'
$commitMessage 'tagging crowdfusion-plugin for development'

@param string $fromPath repository path to be copied (i.e. "trunk")
@param string $toPath repository path used to store the copy (i.e. "tags/tagname")
@param string $commitMessage svn commit message used when creating the copy
@throws SubversionToolsException
@return string Full SVN repository URL of the new path
Performs an svn copy of a repository path to another svn path in the same repository