String author = child.getPropertyValue(DAVElement.CREATOR_DISPLAY_NAME);
String dateStr = child.getPropertyValue(DAVElement.CREATION_DATE);
Date date = dateStr != null ? SVNTimeUtil.parseDate(dateStr) : null;
SVNURL childURL = getLocation().setPath(fullPath, true);
if ("".equals(name)) {
parent[0] = new SVNDirEntry(childURL, name, kind, size, false, lastRevision, date, author);
parentVCC[0] = child.getPropertyValue(DAVElement.VERSION_CONTROLLED_CONFIGURATION);
} else {
childURL = childURL.appendPath(name, false);
entries.add(new SVNDirEntry(childURL, name, kind, size, false, lastRevision, date, author));
vccs.add(child.getPropertyValue(DAVElement.VERSION_CONTROLLED_CONFIGURATION));
}
}
if (includeComments) {
DAVElement logProperty = DAVElement.getElement(DAVElement.SVN_SVN_PROPERTY_NAMESPACE, "log");
Iterator ents = entries.iterator();
SVNDirEntry entry = parent[0];
String vcc = parentVCC[0];
int index = 0;
while(true) {
String label = Long.toString(entry.getRevision());
if (entry.getDate() != null && getOptions().hasCommitMessage(this, entry.getRevision())) {
String message = getOptions().getCommitMessage(this, entry.getRevision());
entry.setCommitMessage(message);
} else if (entry.getDate() != null) {
final SVNDirEntry currentEntry = entry;
String commitMessage = null;
try {
commitMessage = DAVUtil.getPropertyValue(myConnection, vcc, label, logProperty);
} catch (SVNException e) {
if (e.getErrorMessage().getErrorCode() != SVNErrorCode.RA_DAV_PROPS_NOT_FOUND) {
throw e;
}
}
getOptions().saveCommitMessage(DAVRepository.this, currentEntry.getRevision(), commitMessage);
currentEntry.setCommitMessage(commitMessage);
}
if (ents.hasNext()) {
entry = (SVNDirEntry) ents.next();
vcc = (String) vccs.get(index);
index++;