// Get the WC Client
SVNStatusClient client = this.getTask().getSvnClient()
.getStatusClient();
// Execute svn status
SVNStatus status;
if (recursive && filePath.isDirectory()) {
client.doStatus(filePath, SVNRevision.WORKING, true, this.remote,
true, false, this.ignoreExternals, this);
}
status = client.doStatus(filePath, this.remote, this.ignoreExternals);
// Get the interesting status data
SVNRevision committedRevision = status.getCommittedRevision();
SVNRevision remoteRevision = status.getRemoteRevision();
SVNRevision revision = status.getRevision();
SVNRevision copyFromRevision = status.getCopyFromRevision();
SVNStatusType remotePropertiesStatus = status
.getRemotePropertiesStatus();
SVNStatusType remoteContentsStatus = status.getRemoteContentsStatus();
SVNStatusType propertiesStatus = status.getPropertiesStatus();
SVNStatusType contentsStatus = status.getContentsStatus();
Date remoteDate = status.getRemoteDate();
Date committedDate = status.getCommittedDate();
Date workingContentsDate = status.getWorkingContentsDate();
Date workingPropertiesDate = status.getWorkingPropertiesDate();
String author = status.getAuthor();
String remoteAuthor = status.getRemoteAuthor();
if (!status.getContentsStatus().equals(SVNStatusType.STATUS_NORMAL))
{
if (status.getContentsStatus().equals(SVNStatusType.STATUS_CONFLICTED)
|| status.getContentsStatus().equals(SVNStatusType.CONFLICTED)
|| status.getContentsStatus().equals(SVNStatusType.CONFLICTED_UNRESOLVED))
conflicted = true;
modified = true;
}
if (status.getRevision().getNumber() < minVersion
&& status.getRevision().getNumber() > 0)
minVersion = status.getRevision().getNumber();
if (status.getRevision().getNumber() > maxVersion)
maxVersion = status.getRevision().getNumber();
// Set the computed properties in ant
this.getProject().setProperty(this.committedRevisionProperty,
new Long(committedRevision.getNumber()).toString());