if(switchAfterTagBranch) { String lastPathSegment = sourceUrl.getLastPathSegment(); SVNUrl switchDestinationUrl = destinationUrl.appendPath(lastPathSegment);     GetRemoteResourceCommand getRemoteResourceCommand = new GetRemoteResourceCommand(provider.getSVNWorkspaceRoot().getRepository(), switchDestinationUrl, SVNRevision.HEAD); try { getRemoteResourceCommand.run(null); } catch(SVNException e) { if(e.getStatus().getCode() == TeamException.UNABLE) { switchDestinationUrl = destinationUrl; } else { throw e; } } SwitchToUrlCommand switchToUrlCommand = new SwitchToUrlCommand(provider.getSVNWorkspaceRoot(), resources[0], switchDestinationUrl, SVNRevision.HEAD); switchToUrlCommand.run(Policy.subMonitorFor(monitor,100)); }
    protected void execute(SVNTeamProvider provider, IResource[] resources, IProgressMonitor monitor) throws SVNException, InterruptedException {        monitor.beginTask(null, 100);		try {				    	BranchTagCommand command = new BranchTagCommand(provider.getSVNWorkspaceRoot(),resources[0], sourceUrl, destinationUrl, message, createOnServer, revision);	        command.run(Policy.subMonitorFor(monitor,1000));	        if (newAlias != null) updateBranchTagProperty(resources[0]);		} catch (SVNException e) {		    collectStatus(e.getStatus());		} finally {			monitor.done();		}             }