final FileBasedProctorStore.RcsClient rcsClient = new SvnPersisterCoreImpl.SvnRcsClient(wcClient);
final boolean thingsChanged = updater.doInWorkingDirectory(rcsClient, userDir);
if (thingsChanged) {
final SVNCommitClient commitClient = userClientManager.getCommitClient();
final SVNCommitPacket commit = commitClient.doCollectCommitItems(new File[]{userDir}, false, false, SVNDepth.INFINITY, new String[0]);
long elapsed = -System.currentTimeMillis();
final SVNCommitInfo info = commitClient.doCommit(commit, /* keepLocks */ false, comment);
elapsed += System.currentTimeMillis();
if (logger.isDebugEnabled()) {
final StringBuilder changes = new StringBuilder("Committed " + commit.getCommitItems().length + " changes: ");
for (final SVNCommitItem item : commit.getCommitItems()) {
changes.append(item.getKind() + " - " + item.getPath() + ", ");
}
changes.append(String.format(" in %d ms new revision: r%d", elapsed, info.getNewRevision()));
logger.debug(changes.toString());
}