boolean isRevProp = getCommandLine().hasArgument(SVNArgument.REV_PROP);
boolean isVerbose = getCommandLine().hasArgument(SVNArgument.VERBOSE);
File reposRoot = new File(getCommandLine().getPathAt(0));
SVNRevision revision = SVNRevision.HEAD;
SVNLookClient lookClient = getClientManager().getLookClient();
if (getCommandLine().hasArgument(SVNArgument.TRANSACTION)) {
String transactionName = (String) getCommandLine().getArgumentValue(SVNArgument.TRANSACTION);
Map props = null;
if (isRevProp) {
props = lookClient.doGetRevisionProperties(reposRoot, transactionName);
} else {
String path = getCommandLine().getPathCount() < 2 ? null : SVNPathUtil.canonicalizeAbsPath(getCommandLine().getPathAt(2));
props = lookClient.doGetProperties(reposRoot, path, transactionName);
}
printProps(out, props, isVerbose);
return;
} else if (getCommandLine().hasArgument(SVNArgument.REVISION)) {
revision = SVNRevision.parse((String) getCommandLine().getArgumentValue(SVNArgument.REVISION));
}
Map props = null;
if (isRevProp) {
props = lookClient.doGetRevisionProperties(reposRoot, revision);
} else {
String path = getCommandLine().getPathCount() < 2 ? null : SVNPathUtil.canonicalizeAbsPath(getCommandLine().getPathAt(2));
props = lookClient.doGetProperties(reposRoot, path, revision);
}
printProps(out, props, isVerbose);
}