url = SvnCommandUtils.fixUrl( url, repository.getUser() );
Commandline cl =
createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), version, url, outputDirectory );
SvnUpdateConsumer consumer = new SvnUpdateConsumer( getLogger(), fileSet.getBasedir() );
CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
if ( getLogger().isInfoEnabled() )
{
getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
if ( cl.getWorkingDirectory() != null )
{
getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
}
}
int exitCode;
try
{
exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
}
catch ( CommandLineException ex )
{
throw new ScmException( "Error while executing command.", ex );
}
if ( exitCode != 0 )
{
return new ExportScmResult( cl.toString(), "The svn command failed.", stderr.getOutput(), false );
}
return new ExportScmResultWithRevision( cl.toString(), consumer.getUpdatedFiles(),
String.valueOf( consumer.getRevision() ) );
}