if (getCommandLine().hasArgument(SVNArgument.REVISION)) {
revision = SVNRevision.parse((String) getCommandLine().getArgumentValue(SVNArgument.REVISION));
}
if (getCommandLine().hasURLs()) {
wcClient.doSetRevisionProperty(SVNURL.parseURIEncoded(getCommandLine().getURL(0)),
revision, propertyName, propertyValue, force, new ISVNPropertyHandler() {
public void handleProperty(File path, SVNPropertyData property) throws SVNException {
}
public void handleProperty(SVNURL url, SVNPropertyData property) throws SVNException {
out.println("property '" + propertyName +"' set on repository revision " + url);
}
public void handleProperty(long revision, SVNPropertyData property) throws SVNException {
}
});
} else {
File tgt = new File(".");
if (getCommandLine().getPathCount() > 2) {
tgt = new File(getCommandLine().getPathAt(2));
}
wcClient.doSetRevisionProperty(tgt, revision, propertyName, propertyValue, force, new ISVNPropertyHandler() {
public void handleProperty(File path, SVNPropertyData property) throws SVNException {
}
public void handleProperty(SVNURL url, SVNPropertyData property) throws SVNException {
out.println("property '" + propertyName +"' set on repository revision " + url);
}
public void handleProperty(long revision, SVNPropertyData property) throws SVNException {
}
});
}
} else {
for (int i = pathIndex; i < getCommandLine().getPathCount(); i++) {
final String absolutePath = getCommandLine().getPathAt(i);
if (!recursive) {
wcClient.doSetProperty(new File(absolutePath), propertyName, propertyValue, force, recursive, new ISVNPropertyHandler() {
public void handleProperty(File path, SVNPropertyData property) throws SVNException {
out.println("property '" + propertyName + "' set on '" + SVNFormatUtil.formatPath(path) + "'");
}
public void handleProperty(SVNURL url, SVNPropertyData property) throws SVNException {
}
public void handleProperty(long revision, SVNPropertyData property) throws SVNException {
}
});
} else {
final boolean wasSet[] = new boolean[] {false};
wcClient.doSetProperty(new File(absolutePath), propertyName, propertyValue, force, recursive, new ISVNPropertyHandler() {
public void handleProperty(File path, SVNPropertyData property) throws SVNException {
wasSet[0] = true;
}
public void handleProperty(SVNURL url, SVNPropertyData property) throws SVNException {
}