blob: bf5bf9599ca4cbc9cf7315436a3537105886729a [file] [log] [blame]
/**
* @copyright
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
* ====================================================================
* @endcopyright
*/
package org.tigris.subversion.javahl;
import java.io.OutputStream;
import java.util.Map;
/**
* This class provides a threadsafe wrapped for SVNClient
*/
public class SVNClientSynchronized implements SVNClientInterface
{
/**
* the wrapped object, which does all the work
*/
private SVNClient worker;
/**
* our class, we synchronize on that.
*/
static private Class clazz = SVNClientSynchronized.class;
/**
* Create our worker
*/
public SVNClientSynchronized()
{
synchronized(clazz)
{
worker = new SVNClient();
}
}
/**
* release the native peer (should not depend on finalize)
*/
public void dispose()
{
worker.dispose();
}
/**
* @return Version information about the underlying native libraries.
*/
public Version getVersion()
{
synchronized(clazz)
{
return worker.getVersion();
}
}
/**
* @return The name of the working copy's administrative
* directory, which is usually <code>.svn</code>.
* @see <a
* href="https://svn.apache.org/repos/asf/subversion/trunk/notes/asp-dot-net-hack.txt">
* Instructions on changing this as a work-around for the behavior of
* ASP.Net on Windows.</a>
* @since 1.3
*/
public String getAdminDirectoryName()
{
synchronized(clazz)
{
return worker.getAdminDirectoryName();
}
}
/**
* @param name The name of the directory to compare.
* @return Whether <code>name</code> is that of a working copy
* administrative directory.
* @since 1.3
*/
public boolean isAdminDirectory(String name)
{
synchronized(clazz)
{
return worker.isAdminDirectory(name);
}
}
/**
* Returns the last destination path submitted.
* @deprecated
* @return path in Subversion format.
*/
public String getLastPath()
{
synchronized(clazz)
{
return worker.getLastPath();
}
}
/**
* @deprecated Use {@link #status(String, int, boolean, boolean,
* boolean, boolean, StatusCallback)}
* instead.
* @since 1.0
*/
public Status[] status(String path, boolean descend, boolean onServer,
boolean getAll)
throws ClientException
{
synchronized(clazz)
{
return worker.status(path, descend, onServer, getAll);
}
}
/**
* @deprecated Use {@link #status(String, int, boolean, boolean,
* boolean, boolean, StatusCallback)}
* instead.
* @since 1.0
*/
public Status[] status(String path, boolean descend, boolean onServer,
boolean getAll, boolean noIgnore)
throws ClientException
{
synchronized(clazz)
{
return worker.status(path, descend, onServer, getAll, noIgnore);
}
}
/**
* @deprecated Use {@link #status(String, int, boolean, boolean,
* boolean, boolean, StatusCallback)}
* instead.
* @since 1.2
*/
public Status[] status(String path, boolean descend, boolean onServer,
boolean getAll, boolean noIgnore,
boolean ignoreExternals)
throws ClientException
{
synchronized(clazz)
{
return worker.status(path, descend, onServer, getAll, noIgnore,
ignoreExternals);
}
}
/**
* @since 1.5
*/
public void status(String path, int depth, boolean onServer,
boolean getAll, boolean noIgnore,
boolean ignoreExternals, String[] changelists,
StatusCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.status(path, depth, onServer, getAll, noIgnore,
ignoreExternals, changelists, callback);
}
}
/**
* @deprecated Use {@link #list(String, Revision, Revision, int, int,
* boolean, ListCallback)} instead.
* @since 1.0
*/
public DirEntry[] list(String url, Revision revision, boolean recurse)
throws ClientException
{
synchronized(clazz)
{
return worker.list(url, revision, recurse);
}
}
/**
* @deprecated Use {@link #list(String, Revision, Revision, int, int,
* boolean, ListCallback)} instead.
* @since 1.2
*/
public DirEntry[] list(String url, Revision revision, Revision pegRevision,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
return worker.list(url, revision, pegRevision, recurse);
}
}
/**
* @since 1.5
*/
public void list(String url, Revision revision, Revision pegRevision,
int depth, int direntFields, boolean fetchLocks,
ListCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.list(url, revision, pegRevision, depth, direntFields,
fetchLocks, callback);
}
}
/**
* @deprecated Use {@link #status(String, int, boolean, boolean,
* boolean, boolean, StatusCallback)}
* instead.
* @since 1.0
*/
public Status singleStatus(String path, boolean onServer)
throws ClientException
{
synchronized(clazz)
{
return worker.singleStatus(path, onServer);
}
}
/**
* @since 1.0
*/
public void username(String username)
{
synchronized(clazz)
{
worker.username(username);
}
}
/**
* @since 1.0
*/
public void password(String password)
{
synchronized(clazz)
{
worker.password(password);
}
}
/**
* @since 1.0
*/
public void setPrompt(PromptUserPassword prompt)
{
synchronized(clazz)
{
worker.setPrompt(prompt);
}
}
/**
* @deprecated Use {@link #logMessages(String, Revision, Revision, Revision,
* boolean, boolean, boolean, String[],
* long, LogMessageCallback)} instead.
* @since 1.0
*/
public LogMessage[] logMessages(String path, Revision revisionStart,
Revision revisionEnd)
throws ClientException
{
synchronized(clazz)
{
return worker.logMessages(path, revisionStart, revisionEnd, true,
false);
}
}
/**
* @deprecated Use {@link #logMessages(String, Revision, Revision, Revision,
* boolean, boolean, boolean, String[],
* long, LogMessageCallback)} instead.
* @since 1.0
*/
public LogMessage[] logMessages(String path, Revision revisionStart,
Revision revisionEnd, boolean stopOnCopy)
throws ClientException
{
synchronized(clazz)
{
return worker.logMessages(path, revisionStart, revisionEnd,
stopOnCopy, false);
}
}
/**
* @deprecated Use {@link #logMessages(String, Revision, Revision, Revision,
* boolean, boolean, boolean, String[],
* long, LogMessageCallback)} instead.
* @since 1.0
*/
public LogMessage[] logMessages(String path, Revision revisionStart,
Revision revisionEnd, boolean stopOnCopy,
boolean discoverPath)
throws ClientException
{
synchronized(clazz)
{
return worker.logMessages(path, revisionStart, revisionEnd,
stopOnCopy, discoverPath);
}
}
/**
* @deprecated Use {@link #logMessages(String, Revision, Revision, Revision,
* boolean, boolean, boolean, String[],
* long, LogMessageCallback)} instead.
* @since 1.2
*/
public LogMessage[] logMessages(String path, Revision revisionStart,
Revision revisionEnd, boolean stopOnCopy,
boolean discoverPath, long limit)
throws ClientException
{
synchronized (clazz)
{
return worker.logMessages(path, revisionStart, revisionEnd,
stopOnCopy, discoverPath, limit);
}
}
/**
* @deprecated Use {@link #logMessages(String, Revision, RevisionRange[],
* boolean, boolean, boolean, String[],
* long, LogMessageCallback)} instead.
* @since 1.5
*/
public void logMessages(String path, Revision pegRevision,
Revision revisionStart,
Revision revisionEnd, boolean stopOnCopy,
boolean discoverPath,
boolean includeMergedRevisions,
String[] revProps, long limit,
LogMessageCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.logMessages(path, pegRevision, revisionStart,
revisionEnd, stopOnCopy, discoverPath,
includeMergedRevisions, revProps,
limit, callback);
}
}
/**
* @since 1.6
*/
public void logMessages(String path, Revision pegRevision,
RevisionRange[] revisionRanges, boolean stopOnCopy,
boolean discoverPath,
boolean includeMergedRevisions,
String[] revProps, long limit,
LogMessageCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.logMessages(path, pegRevision, revisionRanges,
stopOnCopy, discoverPath, includeMergedRevisions,
revProps, limit, callback);
}
}
/**
* @deprecated Use {@link #checkout(String, String, Revision, Revision,
* int, boolean, boolean)} instead.
* @since 1.0
*/
public long checkout(String moduleName, String destPath, Revision revision,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
return worker.checkout(moduleName, destPath, revision, recurse);
}
}
/**
* @deprecated Use {@link #checkout(String, String, Revision, Revision,
* int, boolean, boolean)} instead.
* @since 1.2
*/
public long checkout(String moduleName, String destPath, Revision revision,
Revision pegRevision, boolean recurse,
boolean ignoreExternals)
throws ClientException
{
synchronized(clazz)
{
return worker.checkout(moduleName, destPath, revision, pegRevision,
recurse, ignoreExternals);
}
}
/**
* @since 1.5
*/
public long checkout(String moduleName, String destPath, Revision revision,
Revision pegRevision, int depth,
boolean ignoreExternals,
boolean allowUnverObstructions)
throws ClientException
{
synchronized(clazz)
{
return worker.checkout(moduleName, destPath, revision, pegRevision,
depth, ignoreExternals,
allowUnverObstructions);
}
}
/**
* @deprecated Use {@link #notification2(Notify2)} instead.
* @since 1.0
*/
public void notification(Notify notify)
{
synchronized(clazz)
{
worker.notification(notify);
}
}
/**
* @since 1.2
*/
public void notification2(Notify2 notify)
{
synchronized(clazz)
{
worker.notification2(notify);
}
}
/**
* @since 1.5
*/
public void setConflictResolver(ConflictResolverCallback listener)
{
synchronized (clazz)
{
worker.setConflictResolver(listener);
}
}
/**
* @since 1.5
*/
public void setProgressListener(ProgressListener listener)
{
synchronized (clazz)
{
worker.setProgressListener(listener);
}
}
/**
* @since 1.0
*/
public void commitMessageHandler(CommitMessage messageHandler)
{
synchronized(clazz)
{
worker.commitMessageHandler(messageHandler);
}
}
/**
* @deprecated Use {@link #remove(String[], String, boolean, boolean)}
* instead.
* @since 1.0
*/
public void remove(String[] path, String message, boolean force)
throws ClientException
{
synchronized (clazz)
{
worker.remove(path, message, force);
}
}
/**
* @since 1.5
*/
public void remove(String[] path, String message, boolean force,
boolean keepLocal, Map revpropTable)
throws ClientException
{
synchronized (clazz)
{
worker.remove(path, message, force, keepLocal, revpropTable);
}
}
/**
* @deprecated Use {@link #revert(String, int)} instead.
* @since 1.0
*/
public void revert(String path, boolean recurse) throws ClientException
{
synchronized(clazz)
{
worker.revert(path, recurse);
}
}
/**
* @since 1.5
*/
public void revert(String path, int depth, String[] changelists)
throws ClientException
{
synchronized(clazz)
{
worker.revert(path, depth, changelists);
}
}
/**
* @deprecated Use {@link #add(String, int, boolean, boolean, boolean)}
* instead.
* @since 1.0
*/
public void add(String path, boolean recurse) throws ClientException
{
synchronized(clazz)
{
worker.add(path, recurse);
}
}
/**
* @deprecated Use {@link #add(String, int, boolean, boolean, boolean)}
* instead.
* @since 1.2
*/
public void add(String path, boolean recurse, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.add(path, recurse, force);
}
}
/**
* @since 1.5
*/
public void add(String path, int depth, boolean force,
boolean noIgnores, boolean addParents)
throws ClientException
{
synchronized (clazz)
{
worker.add(path, depth, force, noIgnores, addParents);
}
}
/**
* @deprecated Use {@link #update(String, Revision, int, boolean,
* boolean, boolean)} instead.
* @since 1.0
*/
public long update(String path, Revision revision, boolean recurse)
throws ClientException
{
synchronized(clazz)
{
return worker.update(path, revision, recurse);
}
}
/**
* @deprecated Use {@link #update(String[], Revision, int, boolean,
* boolean, boolean)} instead.
* @since 1.2
*/
public long[] update(String[] path, Revision revision, boolean recurse,
boolean ignoreExternals)
throws ClientException
{
synchronized(clazz)
{
return worker.update(path, revision, recurse, ignoreExternals);
}
}
/**
* @since 1.5
*/
public long update(String path, Revision revision, int depth,
boolean depthIsSticky, boolean ignoreExternals,
boolean allowUnverObstructions)
throws ClientException
{
synchronized(clazz)
{
return worker.update(path, revision, depth, depthIsSticky,
ignoreExternals, allowUnverObstructions);
}
}
/**
* @since 1.5
*/
public long[] update(String[] path, Revision revision, int depth,
boolean depthIsSticky, boolean ignoreExternals,
boolean allowUnverObstructions)
throws ClientException
{
synchronized(clazz)
{
return worker.update(path, revision, depth, depthIsSticky,
ignoreExternals, allowUnverObstructions);
}
}
/**
* @deprecated Use {@link #commit(String[], String, int, boolean, boolean,
* String[])} instead.
* @since 1.0
*/
public long commit(String[] path, String message, boolean recurse)
throws ClientException
{
synchronized (clazz)
{
return worker.commit(path, message, recurse, false);
}
}
/**
* @deprecated Use {@link #commit(String[], String, int, boolean, boolean,
* String[])} instead.
* @since 1.2
*/
public long commit(String[] path, String message, boolean recurse,
boolean noUnlock)
throws ClientException
{
synchronized (clazz)
{
return worker.commit(path, message, recurse, noUnlock);
}
}
/**
* @since 1.5
*/
public long commit(String[] path, String message, int depth,
boolean noUnlock, boolean keepChangelist,
String[] changelists, Map revpropTable)
throws ClientException
{
synchronized (clazz)
{
return worker.commit(path, message, depth, noUnlock,
keepChangelist, changelists, revpropTable);
}
}
/**
* @since 1.7
*/
public void copy(CopySource[] sources, String destPath, String message,
boolean copyAsChild, boolean makeParents,
boolean ignoreExternals, Map revpropTable)
throws ClientException
{
synchronized (clazz)
{
worker.copy(sources, destPath, message, copyAsChild,
makeParents, ignoreExternals, revpropTable);
}
}
/**
* @deprecated Use {@link #copy(CopySource[], String, String, boolean,
* boolean, boolean, Map)} instead.
* @since 1.5
*/
public void copy(CopySource[] sources, String destPath, String message,
boolean copyAsChild, boolean makeParents,
Map revpropTable)
throws ClientException
{
synchronized (clazz)
{
worker.copy(sources, destPath, message, copyAsChild,
makeParents, revpropTable);
}
}
/**
* @deprecated Use {@link #copy(CopySource[], String, String, boolean,
* boolean, boolean, Map)} instead.
* @since 1.0
*/
public void copy(String srcPath, String destPath, String message,
Revision revision) throws ClientException
{
synchronized(clazz)
{
worker.copy(srcPath, destPath, message, revision);
}
}
/**
* @since 1.5
*/
public void move(String[] srcPaths, String destPath, String message,
boolean force, boolean moveAsChild,
boolean makeParents, Map revpropTable)
throws ClientException
{
synchronized (clazz)
{
worker.move(srcPaths, destPath, message, force, moveAsChild,
makeParents, revpropTable);
}
}
/**
* @deprecated Use {@link #move(String[], String, String, boolean, boolean,
* boolean)} instead.
* @since 1.2
*/
public void move(String srcPath, String destPath, String message,
Revision revision, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.move(srcPath, destPath, message, revision, force);
}
}
/**
* @deprecated Use {@link #move(String[], String, String, boolean, boolean,
* boolean)} instead.
* @since 1.0
*/
public void move(String srcPath, String destPath, String message,
boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.move(srcPath, destPath, message, force);
}
}
/**
* @since 1.5
*/
public void mkdir(String[] path, String message, boolean makeParents,
Map revpropTable)
throws ClientException
{
synchronized (clazz)
{
worker.mkdir(path, message, makeParents, revpropTable);
}
}
/**
* @deprecated Use {@link #mkdir(String[], String, boolean)} instead.
* @since 1.0
*/
public void mkdir(String[] path, String message) throws ClientException
{
synchronized(clazz)
{
worker.mkdir(path, message);
}
}
/**
* @since 1.0
*/
public void cleanup(String path) throws ClientException
{
synchronized(clazz)
{
worker.cleanup(path);
}
}
/**
* @since 1.5
*/
public void resolve(String path, int depth, int conflictResult)
throws SubversionException
{
synchronized (clazz)
{
worker.resolve(path, depth, conflictResult);
}
}
/**
* @deprecated Use {@link #resolve(String, int, int)} instead.
* @since 1.0
*/
public void resolved(String path, boolean recurse) throws ClientException
{
synchronized (clazz)
{
worker.resolved(path, recurse);
}
}
/**
* @deprecated Use {@link #doExport(String, String, Revision, Revision,
* boolean, boolean, int, String)} instead.
* @since 1.0
*/
public long doExport(String srcPath, String destPath, Revision revision,
boolean force)
throws ClientException
{
synchronized(clazz)
{
return worker.doExport(srcPath, destPath, revision, force);
}
}
/**
* @deprecated Use {@link #doExport(String, String, Revision, Revision,
* boolean, boolean, int, String)} instead.
* @since 1.2
*/
public long doExport(String srcPath, String destPath, Revision revision,
Revision pegRevision, boolean force,
boolean ignoreExternals, boolean recurse,
String nativeEOL)
throws ClientException
{
synchronized(clazz)
{
return worker.doExport(srcPath, destPath, revision, pegRevision,
force, ignoreExternals, recurse, nativeEOL);
}
}
/**
* @since 1.5
*/
public long doExport(String srcPath, String destPath, Revision revision,
Revision pegRevision, boolean force, boolean ignoreExternals,
int depth, String nativeEOL)
throws ClientException
{
synchronized (clazz)
{
return worker.doExport(srcPath, destPath, revision, pegRevision,
force, ignoreExternals, depth, nativeEOL);
}
}
/**
* @since 1.5
*/
public long doSwitch(String path, String url, Revision revision,
Revision pegRevision, int depth,
boolean depthIsSticky, boolean ignoreExternals,
boolean allowUnverObstructions)
throws ClientException
{
synchronized(clazz)
{
return worker.doSwitch(path, url, revision, pegRevision, depth,
depthIsSticky, ignoreExternals,
allowUnverObstructions);
}
}
/**
* @deprecated Use {@link #doSwitch(String, String, Revision, boolean)}
* instead.
* @since 1.0
*/
public long doSwitch(String path, String url, Revision revision,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
return worker.doSwitch(path, url, revision, recurse);
}
}
/**
* @deprecated Use {@link #doImport(String, String, String, int, boolean,
* boolean)} instead.
* @since 1.0
*/
public void doImport(String path, String url, String message,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.doImport(path, url, message, recurse);
}
}
/**
* @since 1.5
*/
public void doImport(String path, String url, String message, int depth,
boolean noIgnore, boolean ignoreUnknownNodeTypes,
Map revpropTable)
throws ClientException
{
synchronized(clazz)
{
worker.doImport(path, url, message, depth, noIgnore,
ignoreUnknownNodeTypes, revpropTable);
}
}
/**
* @since 1.5
*/
public String[] suggestMergeSources(String path, Revision pegRevision)
throws SubversionException
{
synchronized (clazz)
{
return worker.suggestMergeSources(path, pegRevision);
}
}
/**
* @deprecated Use {@link #merge(String, Revision, String, Revision,
* String, boolean, int, boolean,
* boolean, boolean)} instead.
* @since 1.0
*/
public void merge(String path1, Revision revision1, String path2,
Revision revision2, String localPath, boolean force,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.merge(path1, revision1, path2, revision2, localPath, force,
recurse);
}
}
/**
* @deprecated Use {@link #merge(String, Revision, String, Revision,
* String, boolean, int, boolean,
* boolean, boolean)} instead.
* @since 1.2
*/
public void merge(String path1, Revision revision1, String path2,
Revision revision2, String localPath, boolean force,
boolean recurse, boolean ignoreAncestry, boolean dryRun)
throws ClientException
{
synchronized(clazz)
{
worker.merge(path1, revision1, path2, revision2, localPath, force,
recurse, ignoreAncestry, dryRun);
}
}
/**
* @since 1.5
*/
public void merge(String path1, Revision revision1, String path2,
Revision revision2, String localPath, boolean force,
int depth, boolean ignoreAncestry, boolean dryRun,
boolean recordOnly) throws ClientException
{
synchronized (clazz)
{
worker.merge(path1, revision1, path2, revision2, localPath, force,
depth, ignoreAncestry, dryRun, recordOnly);
}
}
/**
* @deprecated Use {@link #merge(String, Revision, RevisionRange[],
* String, boolean, int, boolean,
* boolean, boolean)} instead.
* @since 1.2
*/
public void merge(String path, Revision pegRevision, Revision revision1,
Revision revision2, String localPath, boolean force,
boolean recurse, boolean ignoreAncestry, boolean dryRun)
throws ClientException
{
synchronized(clazz)
{
worker.merge(path, pegRevision, revision1, revision2, localPath,
force, recurse, ignoreAncestry, dryRun);
}
}
/**
* @since 1.5
*/
public void merge(String path, Revision pegRevision,
RevisionRange[] revisions, String localPath,
boolean force, int depth, boolean ignoreAncestry,
boolean dryRun, boolean recordOnly)
throws ClientException
{
synchronized(clazz)
{
worker.merge(path, pegRevision, revisions, localPath, force,
depth, ignoreAncestry, dryRun, recordOnly);
}
}
/**
* @since 1.5
*/
public void mergeReintegrate(String path, Revision pegRevision,
String localPath, boolean dryRun)
throws ClientException
{
synchronized(clazz)
{
worker.mergeReintegrate(path, pegRevision, localPath, dryRun);
}
}
/**
* @since 1.5
*/
public Mergeinfo getMergeinfo(String path, Revision pegRevision)
throws SubversionException
{
synchronized (clazz)
{
return worker.getMergeinfo(path, pegRevision);
}
}
/**
* @since 1.7
*/
public void getMergeinfoLog(int kind, String pathOrUrl,
Revision pegRevision, String mergeSourceUrl,
Revision srcPegRevision,
boolean discoverChangedPaths, int depth,
String[] revprops, LogMessageCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.getMergeinfoLog(kind, pathOrUrl, pegRevision, mergeSourceUrl,
srcPegRevision, discoverChangedPaths, depth,
revprops, callback);
}
}
/**
* @deprecated Use {@link #getMergeinfoLog(int, String, Revision, String,
* Revision, boolean, int,
* String[], LogMessageCallback)}
* @since 1.5
*/
public void getMergeinfoLog(int kind, String pathOrUrl,
Revision pegRevision, String mergeSourceUrl,
Revision srcPegRevision,
boolean discoverChangedPaths,
String[] revprops, LogMessageCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.getMergeinfoLog(kind, pathOrUrl, pegRevision, mergeSourceUrl,
srcPegRevision, discoverChangedPaths,
revprops, callback);
}
}
/**
* @deprecated Use {@link #diff(String, Revision, String, Revision,
* String, String, int, boolean, boolean,
* boolean)} instead.
* @since 1.0
*/
public void diff(String target1, Revision revision1, String target2,
Revision revision2, String outFileName, boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.diff(target1, revision1, target2, revision2, outFileName,
recurse);
}
}
/**
* @deprecated Use {@link #diff(String, Revision, String, Revision,
* String, String, int, boolean, boolean,
* boolean)} instead.
* @since 1.2
*/
public void diff(String target1, Revision revision1, String target2,
Revision revision2, String outFileName, boolean recurse,
boolean ignoreAncestry, boolean noDiffDeleted,
boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.diff(target1, revision1, target2, revision2, outFileName,
recurse, ignoreAncestry, noDiffDeleted, force);
}
}
/**
* @deprecated Use {@link #diff(String, Revision, String, Revision,
* String, String, int, boolean, boolean,
* boolean, boolean)} instead.
* @since 1.5
*/
public void diff(String target1, Revision revision1, String target2,
Revision revision2, String relativeToDir,
String outFileName, int depth, String[] changelists,
boolean ignoreAncestry, boolean noDiffDeleted,
boolean force)
throws ClientException
{
synchronized (clazz)
{
worker.diff(target1, revision1, target2, revision2, relativeToDir,
outFileName, depth, changelists, ignoreAncestry,
noDiffDeleted, force);
}
}
/**
* @since 1.7
*/
public void diff(String target1, Revision revision1, String target2,
Revision revision2, String relativeToDir,
String outFileName, int depth, String[] changelists,
boolean ignoreAncestry, boolean noDiffDeleted,
boolean force, boolean copiesAsAdds)
throws ClientException
{
synchronized (clazz)
{
worker.diff(target1, revision1, target2, revision2, relativeToDir,
outFileName, depth, changelists, ignoreAncestry,
noDiffDeleted, force, copiesAsAdds);
}
}
/**
* @deprecated Use {@link #diff(String, Revision, Revision, Revision,
* String, String, int, boolean, boolean,
* boolean)} instead.
* @since 1.2
*/
public void diff(String target, Revision pegRevision,
Revision startRevision, Revision endRevision,
String outFileName, boolean recurse,
boolean ignoreAncestry, boolean noDiffDeleted,
boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.diff(target, pegRevision, startRevision, endRevision,
outFileName, recurse, ignoreAncestry, noDiffDeleted,
force);
}
}
/**
* @deprecated Use {@link #diff(String, Revision, Revision, Revision,
* String, String, int, boolean, boolean,
* boolean, boolean)} instead.
* @since 1.5
*/
public void diff(String target, Revision pegRevision,
Revision startRevision, Revision endRevision,
String relativeToDir, String outFileName, int depth,
String[] changelists, boolean ignoreAncestry,
boolean noDiffDeleted, boolean force)
throws ClientException
{
synchronized (clazz)
{
worker.diff(target, pegRevision, startRevision, endRevision,
relativeToDir, outFileName, depth, changelists,
ignoreAncestry, noDiffDeleted, force);
}
}
/**
* @since 1.7
*/
public void diff(String target, Revision pegRevision,
Revision startRevision, Revision endRevision,
String relativeToDir, String outFileName, int depth,
String[] changelists, boolean ignoreAncestry,
boolean noDiffDeleted, boolean force,
boolean copiesAsAdds)
throws ClientException
{
synchronized (clazz)
{
worker.diff(target, pegRevision, startRevision, endRevision,
relativeToDir, outFileName, depth, changelists,
ignoreAncestry, noDiffDeleted, force, copiesAsAdds);
}
}
/**
* @since 1.5
*/
public void diffSummarize(String target1, Revision revision1,
String target2, Revision revision2,
int depth, String[] changelists,
boolean ignoreAncestry,
DiffSummaryReceiver receiver)
throws ClientException
{
synchronized (clazz)
{
worker.diffSummarize(target1, revision1, target2, revision2,
depth, changelists, ignoreAncestry, receiver);
}
}
/**
* @since 1.5
*/
public void diffSummarize(String target, Revision pegRevision,
Revision startRevision, Revision endRevision,
int depth, String[] changelists,
boolean ignoreAncestry,
DiffSummaryReceiver receiver)
throws ClientException
{
synchronized (clazz)
{
worker.diffSummarize(target, pegRevision, startRevision,
endRevision, depth, changelists,
ignoreAncestry, receiver);
}
}
/**
* @deprecated Use {@link #properties(String, Revision, Revision,
* int, ProplistCallback)} instead.
* @since 1.0
*/
public PropertyData[] properties(String path) throws ClientException
{
synchronized(clazz)
{
return worker.properties(path);
}
}
/**
* @deprecated Use {@link #properties(String, Revision, Revision,
* int, ProplistCallback)} instead.
* @since 1.2
*/
public PropertyData[] properties(String path, Revision revision)
throws ClientException
{
synchronized(clazz)
{
return worker.properties(path, revision);
}
}
/**
* @deprecated Use {@link #properties(String, Revision, Revision,
* int, ProplistCallback)} instead.
* @since 1.2
*/
public PropertyData[] properties(String path, Revision revision,
Revision pegRevision)
throws ClientException
{
synchronized(clazz)
{
return properties(path, revision, pegRevision);
}
}
/**
* @since 1.5
*/
public void properties(String path, Revision revision,
Revision pegRevision, int depth,
String[] changelists,
ProplistCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.properties(path, revision, pegRevision, depth, changelists,
callback);
}
}
/**
* @deprecated Use {@link #propertySet(String, String, String, int,
* boolean)} instead.
* @since 1.0
*/
public void propertySet(String path, String name, String value,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.propertySet(path, name, value, recurse);
}
}
/**
* @deprecated Use {@link #propertySet(String, String, String, int,
* boolean)} instead.
* @since 1.2
*/
public void propertySet(String path, String name, String value,
boolean recurse, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.propertySet(path, name, value, recurse, force);
}
}
/**
* @deprecated Use {@link #propertySet(String, String, String, int,
* boolean)} instead.
* @since 1.0
*/
public void propertySet(String path, String name, byte[] value,
boolean recurse) throws ClientException
{
synchronized(clazz)
{
worker.propertySet(path, name, value, recurse);
}
}
/**
* @deprecated Use {@link #propertySet(String, String, String, int,
* boolean)} instead.
* @since 1.2
*/
public void propertySet(String path, String name, byte[] value,
boolean recurse, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.propertySet(path, name, value, recurse, force);
}
}
/**
* @since 1.5
*/
public void propertySet(String path, String name, String value, int depth,
String[] changelists, boolean force,
Map revpropTable)
throws ClientException
{
synchronized(clazz)
{
worker.propertySet(path, name, value, depth, changelists, force,
revpropTable);
}
}
/**
* @deprecated Use {@link #propertyRemove(String, String, int)} instead.
* @since 1.0
*/
public void propertyRemove(String path, String name, boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.propertyRemove(path, name, recurse);
}
}
/**
* @since 1.5
*/
public void propertyRemove(String path, String name, int depth,
String[] changelists)
throws ClientException
{
synchronized(clazz)
{
worker.propertyRemove(path, name, depth, changelists);
}
}
/**
* @deprecated Use {@link #propertyCreate(String, String, String, int,
* boolean)} instead.
* @since 1.0
*/
public void propertyCreate(String path, String name, String value,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.propertyCreate(path, name, value, recurse);
}
}
/**
* @deprecated Use {@link #propertyCreate(String, String, String, int,
* boolean)} instead.
* @since 1.2
*/
public void propertyCreate(String path, String name, String value,
boolean recurse, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.propertyCreate(path, name, value, recurse, force);
}
}
/**
* @deprecated Use {@link #propertyCreate(String, String, String, int,
* boolean)} instead.
* @since 1.0
*/
public void propertyCreate(String path, String name, byte[] value,
boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.propertyCreate(path, name, value, recurse);
}
}
/**
* @deprecated Use {@link #propertyCreate(String, String, String, int,
* boolean)} instead.
* @since 1.2
*/
public void propertyCreate(String path, String name, byte[] value,
boolean recurse, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.propertyCreate(path, name, value, recurse, force);
}
}
/**
* @since 1.5
*/
public void propertyCreate(String path, String name, String value,
int depth, String[] changelists, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.propertyCreate(path, name, value, depth, changelists, force);
}
}
/**
* @since 1.0
*/
public PropertyData revProperty(String path, String name, Revision rev)
throws ClientException
{
synchronized(clazz)
{
return worker.revProperty(path, name, rev);
}
}
/**
* @since 1.2
*/
public PropertyData[] revProperties(String path, Revision rev)
throws ClientException
{
synchronized(clazz)
{
return worker.revProperties(path, rev);
}
}
/**
* @since 1.2
*/
public void setRevProperty(String path, String name, Revision rev,
String value, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.setRevProperty(path, name, rev, value, force);
}
}
/**
* @since 1.6
*/
public void setRevProperty(String path, String name, Revision rev,
String value, String originalValue,
boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.setRevProperty(path, name, rev, value, originalValue, force);
}
}
/**
* @deprecated Use {@link #propertyGet(String, String, Revision)} instead.
* @since 1.0
*/
public PropertyData propertyGet(String path, String name)
throws ClientException
{
synchronized(clazz)
{
return worker.propertyGet(path, name);
}
}
/**
* @since 1.2
*/
public PropertyData propertyGet(String path,
String name,
Revision revision)
throws ClientException
{
synchronized(clazz)
{
return worker.propertyGet(path, name, revision);
}
}
/**
* @since 1.2
*/
public PropertyData propertyGet(String path,
String name,
Revision revision,
Revision pegRevision)
throws ClientException
{
synchronized(clazz)
{
return worker.propertyGet(path, name, revision, pegRevision);
}
}
/**
* @deprecated Use {@link #fileContent(String, Revision, Revision)}
* instead.
* @since 1.0
*/
public byte[] fileContent(String path, Revision revision)
throws ClientException
{
synchronized(clazz)
{
return worker.fileContent(path, revision);
}
}
/**
* @since 1.2
*/
public byte[] fileContent(String path, Revision revision,
Revision pegRevision)
throws ClientException
{
synchronized(clazz)
{
return worker.fileContent(path, revision, pegRevision);
}
}
/**
* @since 1.0
*/
public void streamFileContent(String path, Revision revision,
Revision pegRevision, int bufferSize,
OutputStream stream)
throws ClientException
{
synchronized(clazz)
{
worker.streamFileContent(path, revision, pegRevision, bufferSize,
stream);
}
}
/**
* @since 1.0
*/
public void relocate(String from, String to, String path, boolean recurse)
throws ClientException
{
synchronized(clazz)
{
worker.relocate(from, to, path, recurse);
}
}
/**
* @deprecated Use {@link #blame(String, Revision, Revision, Revision,
* boolean, boolean, BlameCallback2)}
* instead.
* @since 1.0
*/
public byte[] blame(String path, Revision revisionStart,
Revision revisionEnd)
throws ClientException
{
synchronized(clazz)
{
return worker.blame(path,revisionStart, revisionEnd);
}
}
/**
* @deprecated Use {@link #blame(String, Revision, Revision, Revision,
* boolean, boolean, BlameCallback2)}
* instead.
* @since 1.0
*/
public void blame(String path,
Revision revisionStart,
Revision revisionEnd,
BlameCallback callback)
throws ClientException
{
synchronized(clazz)
{
worker.blame(path, revisionStart, revisionEnd, callback);
}
}
/**
* @deprecated Use {@link #blame(String, Revision, Revision, Revision,
* boolean, boolean, BlameCallback2)}
* instead.
* @since 1.2
*/
public void blame(String path,
Revision pegRevision,
Revision revisionStart,
Revision revisionEnd,
BlameCallback callback)
throws ClientException
{
synchronized(clazz)
{
worker.blame(path, pegRevision, revisionStart, revisionEnd,
callback);
}
}
/**
* @deprecated Use {@link #blame(String, Revision, Revision, Revision,
* boolean, boolean, BlameCallback3)}
* instead.
* @since 1.5
*/
public void blame(String path,
Revision pegRevision,
Revision revisionStart,
Revision revisionEnd,
boolean ignoreMimeType,
boolean includeMergedRevisions,
BlameCallback2 callback)
throws ClientException
{
synchronized(clazz)
{
worker.blame(path, pegRevision, revisionStart, revisionEnd,
ignoreMimeType, includeMergedRevisions, callback);
}
}
/**
* @since 1.7
*/
public void blame(String path,
Revision pegRevision,
Revision revisionStart,
Revision revisionEnd,
boolean ignoreMimeType,
boolean includeMergedRevisions,
BlameCallback3 callback)
throws ClientException
{
synchronized(clazz)
{
worker.blame(path, pegRevision, revisionStart, revisionEnd,
ignoreMimeType, includeMergedRevisions, callback);
}
}
/**
* @since 1.0
*/
public void setConfigDirectory(String configDir) throws ClientException
{
synchronized(clazz)
{
worker.setConfigDirectory(configDir);
}
}
/**
* @since 1.0
*/
public String getConfigDirectory() throws ClientException
{
synchronized(clazz)
{
return worker.getConfigDirectory();
}
}
/**
* @since 1.0
*/
public void cancelOperation() throws ClientException
{
// this method is not synchronized, because it is designed to be called
// from another thread
worker.cancelOperation();
}
/**
* @deprecated Use {@link #info2(String, Revision, Revision, int,
* InfoCallback)} instead.
* @since 1.0
*/
public Info info(String path) throws ClientException
{
synchronized(clazz)
{
return worker.info(path);
}
}
/**
* @since 1.5
*/
public void addToChangelist(String[] paths, String changelist, int depth,
String[] changelists)
throws ClientException
{
synchronized (clazz)
{
worker.addToChangelist(paths, changelist, depth, changelists);
}
}
/**
* @since 1.5
*/
public void removeFromChangelists(String[] paths, int depth,
String[] changelists)
throws ClientException
{
synchronized (clazz)
{
worker.removeFromChangelists(paths, depth, changelists);
}
}
/**
* @since 1.5
*/
public void getChangelists(String rootPath, String[] changelists,
int depth, ChangelistCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.getChangelists(rootPath, changelists, depth, callback);
}
}
/**
* @since 1.2
*/
public void lock(String[] path, String comment, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.lock(path, comment, force);
}
}
/**
* @since 1.2
*/
public void unlock(String[] path, boolean force)
throws ClientException
{
synchronized(clazz)
{
worker.unlock(path, force);
}
}
/**
* @deprecated Use {@link #info2(String, Revision, Revision, int,
* InfoCallback)} instead.
* @since 1.2
*/
public Info2[] info2(String pathOrUrl, Revision revision,
Revision pegRevision, boolean recurse)
throws ClientException
{
synchronized(clazz)
{
return worker.info2(pathOrUrl, revision, pegRevision, recurse);
}
}
/**
* @since 1.5
*/
public void info2(String pathOrUrl, Revision revision,
Revision pegRevision, int depth, String[] changelists,
InfoCallback callback)
throws ClientException
{
synchronized (clazz)
{
worker.info2(pathOrUrl, revision, pegRevision, depth, changelists,
callback);
}
}
/**
* @since 1.2
*/
public String getVersionInfo(String path, String trailUrl,
boolean lastChanged) throws ClientException
{
synchronized(clazz)
{
return worker.getVersionInfo(path, trailUrl, lastChanged);
}
}
/**
* @since 1.7
*/
public void upgrade(String path)
throws ClientException
{
synchronized (clazz)
{
worker.upgrade(path);
}
}
}