myIsRecursive = getCommandLine().hasArgument(SVNArgument.RECURSIVE);
boolean revProp = getCommandLine().hasArgument(SVNArgument.REV_PROP);
myIsStrict = getCommandLine().hasArgument(SVNArgument.STRICT);
myOut = out;
myIsRecursive = myIsRecursive & !revProp;
SVNRevision revision = SVNRevision.UNDEFINED;
if (getCommandLine().hasArgument(SVNArgument.REVISION)) {
revision = SVNRevision.parse((String) getCommandLine().getArgumentValue(SVNArgument.REVISION));
}
SVNWCClient wcClient = getClientManager().getWCClient();
if (getCommandLine().hasURLs()) {
String url = getCommandLine().getURL(0);
if (revProp) {
wcClient.doGetRevisionProperty(SVNURL.parseURIEncoded(url), propertyName, revision, this);
} else {
SVNRevision pegRevision = getCommandLine().getPegRevision(0);
wcClient.doGetProperty(SVNURL.parseURIEncoded(url), propertyName, pegRevision, revision, myIsRecursive, this);
}
} else if (getCommandLine().getPathCount() > 1) {
String path = getCommandLine().getPathAt(1);
SVNRevision pegRevision = getCommandLine().getPathPegRevision(1);
if (revProp) {
wcClient.doGetRevisionProperty(new File(path), propertyName, revision, this);
} else {
wcClient.doGetProperty(new File(path), propertyName, pegRevision, revision, myIsRecursive, this);
}