in maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommand.java [118:167]
private ChangeLogScmResult executeChangeLogCommand(
ScmProviderRepository repo,
ScmFileSet fileSet,
Date startDate,
Date endDate,
ScmBranch branch,
String datePattern,
ScmVersion startVersion,
ScmVersion endVersion,
Integer limit)
throws ScmException {
Commandline cl = createCommandLine(
(SvnScmProviderRepository) repo,
fileSet.getBasedir(),
branch,
startDate,
endDate,
startVersion,
endVersion,
limit);
SvnChangeLogConsumer consumer = new SvnChangeLogConsumer(datePattern);
CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
if (logger.isInfoEnabled()) {
logger.info("Executing: " + SvnCommandLineUtils.cryptPassword(cl));
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
logger.info("Working directory: " + cl.getWorkingDirectory().getAbsolutePath());
}
}
int exitCode;
try {
exitCode = SvnCommandLineUtils.execute(cl, consumer, stderr);
} catch (CommandLineException ex) {
throw new ScmException("Error while executing svn command.", ex);
}
if (exitCode != 0) {
return new ChangeLogScmResult(cl.toString(), "The svn command failed.", stderr.getOutput(), false);
}
ChangeLogSet changeLogSet = new ChangeLogSet(consumer.getModifications(), startDate, endDate);
changeLogSet.setStartVersion(startVersion);
changeLogSet.setEndVersion(endVersion);
return new ChangeLogScmResult(cl.toString(), changeLogSet);
}