in maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java [60:116]
protected void parseLine(String line) {
line = line.trim();
String statusString = line.substring(0, 1);
String file = line.substring(3).trim();
// [SCM-368]
if (file.startsWith(workingDirectory.getAbsolutePath())) {
if (file.length() == workingDirectory.getAbsolutePath().length()) {
file = ".";
} else {
file = file.substring(this.workingDirectory.getAbsolutePath().length() + 1);
}
}
ScmFileStatus status;
if (line.startsWith(UPDATED_TO_REVISION_TOKEN)) {
String revisionString = line.substring(UPDATED_TO_REVISION_TOKEN.length() + 1, line.length() - 1);
revision = parseInt(revisionString);
return;
} else if (line.startsWith(AT_REVISION_TOKEN)) {
String revisionString = line.substring(AT_REVISION_TOKEN.length() + 1, line.length() - 1);
revision = parseInt(revisionString);
return;
} else if (line.startsWith(EXPORTED_REVISION_TOKEN)) {
String revisionString = line.substring(EXPORTED_REVISION_TOKEN.length() + 1, line.length() - 1);
revision = parseInt(revisionString);
return;
} else if (line.startsWith(RESTORED_TOKEN)) {
return;
} else if (statusString.equals("A")) {
status = ScmFileStatus.ADDED;
} else if (statusString.equals("U") || statusString.equals("M")) {
status = ScmFileStatus.UPDATED;
} else if (statusString.equals("D")) {
status = ScmFileStatus.DELETED;
} else {
// Do nothing
return;
}
addFile(new ScmFile(file, status));
List<ChangeFile> changeFiles = Arrays.asList(
new ChangeFile[] {new ChangeFile(line, Integer.valueOf(revision).toString())});
ChangeSet changeSet = new ChangeSet(null, null, null, changeFiles);
changeSets.add(changeSet);
}