private void deltifyProperties(FSRevisionRoot srcRoot, FSRevisionRoot tgtRoot, String srcPath,
String tgtPath, String editPath, boolean isDir) throws SVNException {
if (myIsIncludeEntryProperties) {
FSRevisionNode node = tgtRoot.getRevisionNode(tgtPath);
long committedRevision = node.getCreatedRevision();
if (SVNRevision.isValidRevisionNumber(committedRevision)) {
if (isDir) {
myEditor.changeDirProperty(SVNProperty.COMMITTED_REVISION, SVNPropertyValue.create(String.valueOf(committedRevision)));
} else {
myEditor.changeFileProperty(editPath, SVNProperty.COMMITTED_REVISION, SVNPropertyValue.create(String.valueOf(committedRevision)));
}
SVNProperties revisionProps = myFSFS.getRevisionProperties(committedRevision);
String committedDateStr = revisionProps.getStringValue(SVNRevisionProperty.DATE);
if (committedDateStr != null || srcPath != null) {
if (isDir) {
myEditor.changeDirProperty(SVNProperty.COMMITTED_DATE, SVNPropertyValue.create(committedDateStr));
} else {
myEditor.changeFileProperty(editPath,SVNProperty.COMMITTED_DATE, SVNPropertyValue.create(committedDateStr));
}
}
String lastAuthor = revisionProps.getStringValue(SVNRevisionProperty.AUTHOR);
if (lastAuthor != null || srcPath != null) {
if (isDir) {
myEditor.changeDirProperty(SVNProperty.LAST_AUTHOR, SVNPropertyValue.create(lastAuthor));
} else {
myEditor.changeFileProperty(editPath,SVNProperty.LAST_AUTHOR, SVNPropertyValue.create(lastAuthor));
}
}
String uuid = myFSFS.getUUID();
if (isDir) {
myEditor.changeDirProperty(SVNProperty.UUID, SVNPropertyValue.create(uuid));
} else {
myEditor.changeFileProperty(editPath, SVNProperty.UUID, SVNPropertyValue.create(uuid));
}
}
}
FSRevisionNode targetNode = tgtRoot.getRevisionNode(tgtPath);
SVNProperties sourceProps = null;
if (srcPath != null) {
FSRevisionNode sourceNode = srcRoot.getRevisionNode(srcPath);
boolean propsChanged = !FSRepositoryUtil.arePropertiesEqual(sourceNode, targetNode);
if (!propsChanged) {
return;
}
sourceProps = sourceNode.getProperties(myFSFS);
} else {
sourceProps = new SVNProperties();
}
SVNProperties targetProps = targetNode.getProperties(myFSFS);