in maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java [47:99]
protected CheckInScmResult executeCheckInCommand(
ScmProviderRepository repo, ScmFileSet fileSet, String message, ScmVersion version) throws ScmException {
if (version != null && StringUtils.isNotEmpty(version.getName())) {
throw new ScmException("This provider command can't handle tags.");
}
File messageFile = FileUtils.createTempFile("maven-scm-", ".commit", null);
try {
FileUtils.fileWrite(messageFile.getAbsolutePath(), "UTF-8", message);
} catch (IOException ex) {
return new CheckInScmResult(
null,
"Error while making a temporary file for the commit message: " + ex.getMessage(),
null,
false);
}
Commandline cl = createCommandLine((SvnScmProviderRepository) repo, fileSet, messageFile);
SvnCheckInConsumer consumer = new SvnCheckInConsumer(fileSet.getBasedir());
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 command.", ex);
} finally {
try {
FileUtils.forceDelete(messageFile);
} catch (IOException ex) {
// ignore
}
}
if (exitCode != 0) {
return new CheckInScmResult(cl.toString(), "The svn command failed.", stderr.getOutput(), false);
}
return new CheckInScmResult(
cl.toString(), consumer.getCheckedInFiles(), Integer.toString(consumer.getRevision()));
}