in maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommand.java [96:140]
public static Commandline createCommandLine(
SvnScmProviderRepository repository, File workingDirectory, ScmVersion version) {
Settings settings = SvnUtil.getSettings();
String workingDir = workingDirectory.getAbsolutePath();
if (settings.isUseCygwinPath()) {
workingDir = settings.getCygwinMountPath() + "/" + workingDir;
workingDir = StringUtils.replace(workingDir, ":", "");
workingDir = StringUtils.replace(workingDir, "\\", "/");
}
if (version != null && StringUtils.isEmpty(version.getName())) {
version = null;
}
Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine(workingDirectory, repository);
if (version == null || SvnTagBranchUtils.isRevisionSpecifier(version)) {
cl.createArg().setValue("update");
if (version != null && StringUtils.isNotEmpty(version.getName())) {
cl.createArg().setValue("-r");
cl.createArg().setValue(version.getName());
}
cl.createArg().setValue(workingDir + "@");
} else {
if (version instanceof ScmBranch) {
// The tag specified does not appear to be numeric, so assume it refers
// to a branch/tag url and perform a switch operation rather than update
cl.createArg().setValue("switch");
if (version instanceof ScmTag) {
String tagUrl = SvnTagBranchUtils.resolveTagUrl(repository, (ScmTag) version);
cl.createArg().setValue(tagUrl + "@");
} else {
String branchUrl = SvnTagBranchUtils.resolveBranchUrl(repository, (ScmBranch) version);
cl.createArg().setValue(branchUrl + "@");
}
cl.createArg().setValue(workingDir + "@");
}
}
return cl;
}