Hyrum, this commit seems to have overwritten the contents of
SVNClientInterface with SVNClientSynchronized.
On Sat, 09 Jun 2007, hwright@tigris.org wrote:
> Author: hwright
> Date: Sat Jun 9 16:11:21 2007
> New Revision: 25348
>
> Log:
> JavaHL: Update logMessages() API to include omitLogText parameters.
>
> [ in subversion/bindings/javahl/ ]
> * native/org_tigris_subversion_javahl_SVNClient.cpp
> (Java_org_tigris_subversion_javahl_SVNClient_logMessages):
> Add omitLogText parameter, pass it to the SVNClient object.
>
> * native/SVNClient.h,
> native/SVNClient.cpp
> (logMessages): Add omitLogText parameter, and use its value, instead of
> defaulting to false, when calling svn_client_log4().
>
> * src/org/tigris/subversion/javahl/SVNClientInterface.java,
> src/org/tigris/subversion/javahl/SVNClientSynchronized.java,
> src/org/tigris/subversion/javahl/SVNClient.java
> (logMessages): Add omitLogText parameter.
>
>
> Modified:
> trunk/subversion/bindings/javahl/native/SVNClient.cpp
> trunk/subversion/bindings/javahl/native/SVNClient.h
> trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
> trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
> trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
> trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java
>
> Modified: trunk/subversion/bindings/javahl/native/SVNClient.cpp
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/bindings/javahl/native/SVNClient.cpp?pathrev=25348&r1=25347&r2=25348
> ==============================================================================
>
> Modified: trunk/subversion/bindings/javahl/native/SVNClient.h
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/bindings/javahl/native/SVNClient.h?pathrev=25348&r1=25347&r2=25348
> ==============================================================================
> --- trunk/subversion/bindings/javahl/native/SVNClient.h (original)
> +++ trunk/subversion/bindings/javahl/native/SVNClient.h Sat Jun 9 16:11:21 2007
> @@ -127,7 +127,8 @@
> void logMessages(const char *path, Revision &pegRevision,
> Revision &revisionStart,
> Revision &revisionEnd, bool stopOnCopy,
> - bool discoverPaths, bool includeMergedRevisions, long limit,
> + bool discoverPaths, bool includeMergedRevisions,
> + bool omitLogText, long limit,
> LogMessageCallback *callback);
> void setPrompt(Prompter *prompter);
> void password(const char *pi_password);
>
> Modified: trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp?pathrev=25348&r1=25347&r2=25348
> ==============================================================================
> --- trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp (original)
> +++ trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp Sat Jun 9 16:11:21 2007
> @@ -247,8 +247,8 @@
> Java_org_tigris_subversion_javahl_SVNClient_logMessages
> (JNIEnv *env, jobject jthis, jstring jpath, jobject jpegRevision,
> jobject jrevisionStart, jobject jrevisionEnd, jboolean jstopOnCopy,
> - jboolean jdisoverPaths, jboolean jincludeMergedRevisions, jlong jlimit,
> - jobject jlogMessageCallback)
> + jboolean jdisoverPaths, jboolean jincludeMergedRevisions,
> + jboolean jomitLogText, jlong jlimit, jobject jlogMessageCallback)
> {
> JNIEntry(SVNClient, logMessages);
> SVNClient *cl = SVNClient::getCppObject(jthis);
> @@ -276,7 +276,8 @@
> LogMessageCallback callback(jlogMessageCallback);
> cl->logMessages(path, pegRevision, revisionStart, revisionEnd,
> jstopOnCopy ? true: false, jdisoverPaths ? true : false,
> - jincludeMergedRevisions ? true : false, jlimit, &callback);
> + jincludeMergedRevisions ? true : false,
> + jomitLogText ? true : false, jlimit, &callback);
> }
>
> JNIEXPORT jlong JNICALL
>
> Modified: trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?pathrev=25348&r1=25347&r2=25348
> ==============================================================================
> --- trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
> +++ trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Sat Jun 9 16:11:21 2007
> @@ -352,7 +352,7 @@
> MyLogMessageCallback callback = new MyLogMessageCallback();
>
> logMessages(path, revisionEnd, revisionStart, revisionEnd,
> - stopOnCopy, discoverPath, false, limit, callback);
> + stopOnCopy, discoverPath, false, false, limit, callback);
>
> return callback.getMessages();
> }
> @@ -368,6 +368,7 @@
> * returned objects
> * @param includeMergedRevisions include log messages for revisions which
> * were merged.
> + * @param omitLogText supress log message text.
> * @param limit limit the number of log messages (if 0 or less no
> * limit)
> * @return array of LogMessages
> @@ -380,6 +381,7 @@
> boolean stopOnCopy,
> boolean discoverPath,
> boolean includeMergedRevisions,
> + boolean omitLogText,
> long limit,
> LogMessageCallback callback)
> throws ClientException;
>
> Modified: trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java?pathrev=25348&r1=25347&r2=25348
> ==============================================================================
> --- trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java (original)
> +++ trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java Sat Jun 9 16:11:21 2007
> @@ -21,20 +21,49 @@
> import java.io.OutputStream;
>
> /**
> - * This interface is the commom interface for all subversion
> - * operations. It is implemented by SVNClient and SVNClientSynchronized
> + * This class provides a threadsafe wrapped for SVNClient
> */
> -public interface SVNClientInterface
> +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)
> */
> - void dispose();
> + public void dispose()
> + {
> + worker.dispose();
> + }
>
> /**
> * @return Version information about the underlying native libraries.
> */
> - public Version getVersion();
> + public Version getVersion()
> + {
> + synchronized(clazz)
> + {
> + return worker.getVersion();
> + }
> + }
>
> /**
> * @return The name of the working copy's administrative
> @@ -45,7 +74,13 @@
> * on Windows.
> * @since 1.3
> */
> - public String getAdminDirectoryName();
> + public String getAdminDirectoryName()
> + {
> + synchronized(clazz)
> + {
> + return worker.getAdminDirectoryName();
> + }
> + }
>
> /**
> * @param name The name of the directory to compare.
> @@ -53,14 +88,26 @@
> * administrative directory.
> * @since 1.3
> */
> - public boolean isAdminDirectory(String name);
> + public boolean isAdminDirectory(String name)
> + {
> + synchronized(clazz)
> + {
> + return worker.isAdminDirectory(name);
> + }
> + }
>
> /**
> - * Returns the last destination path submitted.
> - * @deprecated
> - * @return path in Subversion format.
> - */
> - String getLastPath();
> + * Returns the last destination path submitted.
> + * @deprecated
> + * @return path in Subversion format.
> + */
> + public String getLastPath()
> + {
> + synchronized(clazz)
> + {
> + return worker.getLastPath();
> + }
> + }
>
> /**
> * List a directory or file of the working copy.
> @@ -68,40 +115,62 @@
> * @param path Path to explore.
> * @param descend Recurse into subdirectories if they exist.
> * @param onServer Request status information from server.
> - * @param getAll get status for uninteresting (unchanged) files.
> + * @param getAll get status for uninteristing files (unchanged).
> * @return Array of Status entries.
> */
> - Status[] status(String path, boolean descend, boolean onServer,
> - boolean getAll) throws ClientException;
> -
> + public Status[] status(String path, boolean descend, boolean onServer,
> + boolean getAll)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.status(path, descend, onServer, getAll);
> + }
> + }
> /**
> * List a directory or file of the working copy.
> *
> * @param path Path to explore.
> * @param descend Recurse into subdirectories if they exist.
> * @param onServer Request status information from server.
> - * @param getAll get status for uninteresting (unchanged) files.
> + * @param getAll get status for uninteristing files (unchanged).
> * @param noIgnore get status for normaly ignored files and directories.
> * @return Array of Status entries.
> */
> - Status[] status(String path, boolean descend, boolean onServer,
> - boolean getAll, boolean noIgnore) throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * List a directory or file of the working copy.
> *
> - * @param path Path to explore.
> - * @param descend Recurse into subdirectories if they exist.
> - * @param onServer Request status information from server.
> - * @param getAll get status for uninteresting (unchanged) files.
> - * @param noIgnore get status for normaly ignored files and directories.
> - * @param ignoreExternals if externals are ignored during status
> + * @param path Path to explore.
> + * @param descend Recurse into subdirectories if they exist.
> + * @param onServer Request status information from server.
> + * @param getAll get status for uninteristing files (unchanged).
> + * @param noIgnore get status for normaly ignored files and
> + * directories.
> + * @param ignoreExternals if externals are ignored during checkout
> * @return Array of Status entries.
> * @since 1.2
> */
> - Status[] status(String path, boolean descend, boolean onServer,
> - boolean getAll, boolean noIgnore, boolean ignoreExternals)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * List a directory or file of the working copy.
> @@ -115,10 +184,17 @@
> * @return Array of Status entries.
> * @since 1.5
> */
> - void status(String path, int depth, boolean onServer,
> - boolean getAll, boolean noIgnore, boolean ignoreExternals,
> - StatusCallback callback)
> - throws ClientException;
> + public void status(String path, int depth, boolean onServer,
> + boolean getAll, boolean noIgnore,
> + boolean ignoreExternals, StatusCallback callback)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.status(path, depth, onServer, getAll, noIgnore,
> + ignoreExternals, callback);
> + }
> + }
>
> /**
> * Lists the directory entries of an url on the server.
> @@ -127,21 +203,34 @@
> * @param recurse recurse into subdirectories
> * @return Array of DirEntry objects.
> */
> - DirEntry[] list(String url, Revision revision, boolean recurse)
> - throws ClientException;
> + public DirEntry[] list(String url, Revision revision, boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.list(url, revision, recurse);
> + }
> + }
>
> /**
> * Lists the directory entries of an url on the server.
> - * @param url the url to list
> - * @param revision the revision to list
> + *
> + * @param url the url to list
> + * @param revision the revision to list
> * @param pegRevision the revision to interpret url
> - * @param recurse recurse into subdirectories
> - * @return Array of DirEntry objects.
> + * @param recurse recurse into subdirectories
> + * @return Array of DirEntry objects.
> * @since 1.2
> */
> - DirEntry[] list(String url, Revision revision, Revision pegRevision,
> - boolean recurse)
> - throws ClientException;
> + public DirEntry[] list(String url, Revision revision, Revision pegRevision,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.list(url, revision, pegRevision, recurse);
> + }
> + }
>
> /**
> * Lists the directory entries of an url on the server.
> @@ -154,10 +243,17 @@
> * @param callback the callback to receive the directory entries
> * @since 1.5
> */
> - void list(String url, Revision revision, Revision pegRevision,
> - int depth, int direntFields, boolean fetchLocks,
> - ListCallback callback)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Returns the status of a single file in the path.
> @@ -166,33 +262,47 @@
> * @param onServer Request status information from the server.
> * @return the subversion status of the file.
> */
> - Status singleStatus(String path, boolean onServer) throws ClientException;
> -
> - /**
> - * Sets the username used for authentication.
> - * @param username The username, ignored if the empty string. Set
> - * to the empty string to clear it.
> - * @throws IllegalArgumentException If <code>username</code> is
> - * <code>null</code>.
> - * @see #password(String)
> - */
> - void username(String username);
> -
> - /**
> - * Sets the password used for authentication.
> - * @param password The password, ignored if the empty string. Set
> - * to the empty string to clear it.
> - * @throws IllegalArgumentException If <code>password</code> is
> - * <code>null</code>.
> - * @see #username(String)
> - */
> - void password(String password);
> -
> + public Status singleStatus(String path, boolean onServer)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.singleStatus(path, onServer);
> + }
> + }
> + /**
> + * Sets the username used for authentification.
> + * @param username the username
> + */
> + public void username(String username)
> + {
> + synchronized(clazz)
> + {
> + worker.username(username);
> + }
> + }
> + /**
> + * Sets the password used for authification.
> + * @param password the password
> + */
> + public void password(String password)
> + {
> + synchronized(clazz)
> + {
> + worker.password(password);
> + }
> + }
> /**
> * Register callback interface to supply username and password on demand
> * @param prompt the callback interface
> */
> - void setPrompt(PromptUserPassword prompt);
> + public void setPrompt(PromptUserPassword prompt)
> + {
> + synchronized(clazz)
> + {
> + worker.setPrompt(prompt);
> + }
> + }
>
> /**
> * Retrieve the log messages for an item
> @@ -201,8 +311,16 @@
> * @param revisionEnd last revision to show
> * @return array of LogMessages
> */
> - LogMessage[] logMessages(String path, Revision revisionStart,
> - Revision revisionEnd) throws ClientException;
> + public LogMessage[] logMessages(String path, Revision revisionStart,
> + Revision revisionEnd)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.logMessages(path, revisionStart, revisionEnd, true,
> + false);
> + }
> + }
>
> /**
> * Retrieve the log messages for an item
> @@ -212,9 +330,16 @@
> * @param stopOnCopy do not continue on copy operations
> * @return array of LogMessages
> */
> - LogMessage[] logMessages(String path, Revision revisionStart,
> - Revision revisionEnd, boolean stopOnCopy)
> - throws ClientException;
> + public LogMessage[] logMessages(String path, Revision revisionStart,
> + Revision revisionEnd, boolean stopOnCopy)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.logMessages(path, revisionStart, revisionEnd,
> + stopOnCopy, false);
> + }
> + }
>
> /**
> * Retrieve the log messages for an item
> @@ -226,10 +351,17 @@
> * returned objects
> * @return array of LogMessages
> */
> - LogMessage[] logMessages(String path, Revision revisionStart,
> - Revision revisionEnd, boolean stopOnCopy,
> - boolean discoverPath)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Retrieve the log messages for an item
> @@ -244,15 +376,22 @@
> * @return array of LogMessages
> * @since 1.2
> */
> - LogMessage[] logMessages(String path, Revision revisionStart,
> - Revision revisionEnd, boolean stopOnCopy,
> - boolean discoverPath, long limit)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Retrieve the log messages for an item
> * @param path path or url to get the log message for.
> - * @param pegRevision revision to interpret path
> + * @param pegRevision the revision to interpret path
> * @param revisionStart first revision to show
> * @param revisionEnd last revision to show
> * @param stopOnCopy do not continue on copy operations
> @@ -262,15 +401,24 @@
> * were merged.
> * @param limit limit the number of log messages (if 0 or less no
> * limit)
> - * @param callback the object to receive the log messages
> + * @param callback the object to receive the messages
> * @since 1.5
> */
> - void logMessages(String path, Revision pegRevision,
> - Revision revisionStart,
> - Revision revisionEnd, boolean stopOnCopy,
> - boolean discoverPath, boolean includeMergedRevisions,
> - long limit, LogMessageCallback callback)
> - throws ClientException;
> + public void logMessages(String path, Revision pegRevision,
> + Revision revisionStart,
> + Revision revisionEnd, boolean stopOnCopy,
> + boolean discoverPath,
> + boolean includeMergedRevisions, long limit,
> + LogMessageCallback callback)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.logMessages(path, pegRevision, revisionStart,
> + revisionEnd, stopOnCopy, discoverPath,
> + includeMergedRevisions, limit, callback);
> + }
> + }
>
> /**
> * Executes a revision checkout.
> @@ -278,16 +426,25 @@
> * @param destPath destination directory for checkout.
> * @param revision the revision to checkout.
> * @param pegRevision the peg revision to interpret the path
> - * @param depth how deep to checkout files recursively.
> + * @param recurse how deep to checkout files recursively.
> * @param ignoreExternals if externals are ignored during checkout
> * @param allowUnverObstructions allow unversioned paths that obstruct adds
> * @throws ClientException
> * @since 1.5
> */
> - long checkout(String moduleName, String destPath, Revision revision,
> - Revision pegRevision, int depth,
> - boolean ignoreExternals,
> - boolean allowUnverObstructions) throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Executes a revision checkout.
> @@ -300,9 +457,17 @@
> * @throws ClientException
> * @since 1.2
> */
> - long checkout(String moduleName, String destPath, Revision revision,
> - Revision pegRevision, boolean recurse,
> - boolean ignoreExternals) throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Executes a revision checkout.
> @@ -312,10 +477,15 @@
> * @param recurse whether you want it to checkout files recursively.
> * @throws ClientException
> */
> - long checkout(String moduleName, String destPath, Revision revision,
> - boolean recurse)
> - throws ClientException;
> -
> + public long checkout(String moduleName, String destPath, Revision revision,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.checkout(moduleName, destPath, revision, recurse);
> + }
> + }
> /**
> * Sets the notification callback used to send processing information back
> * to the calling program.
> @@ -323,16 +493,29 @@
> * file operations.
> * @deprecated use notification2 instead
> */
> - void notification(Notify notify);
> + public void notification(Notify notify)
> + {
> + synchronized(clazz)
> + {
> + worker.notification(notify);
> + }
> + }
>
> /**
> * Sets the notification callback used to send processing information back
> * to the calling program.
> + *
> * @param notify listener that the SVN library should call on many
> * file operations.
> * @since 1.2
> */
> - void notification2(Notify2 notify);
> + public void notification2(Notify2 notify)
> + {
> + synchronized(clazz)
> + {
> + worker.notification2(notify);
> + }
> + }
>
> /**
> * Set the progress callback.
> @@ -340,16 +523,28 @@
> * @param listener The progress callback.
> * @since 1.5
> */
> - void setProgressListener(ProgressListener listener);
> + public void setProgressListener(ProgressListener listener)
> + {
> + synchronized (clazz)
> + {
> + worker.setProgressListener(listener);
> + }
> + }
>
> /**
> * Sets the commit message handler. This allows more complex commit message
> * with the list of the elements to be commited as input.
> * @param messageHandler callback for entering commit messages
> - * if this is set the message parameter is ignored.
> + * if this is set the message parameter is
> + * ignored.
> */
> - void commitMessageHandler(CommitMessage messageHandler);
> -
> + public void commitMessageHandler(CommitMessage messageHandler)
> + {
> + synchronized(clazz)
> + {
> + worker.commitMessageHandler(messageHandler);
> + }
> + }
> /**
> * Sets a file for deletion.
> * @param path path or url to be deleted
> @@ -357,8 +552,11 @@
> * @param force delete even when there are local modifications.
> * @throws ClientException
> */
> - void remove(String[] path, String message, boolean force)
> - throws ClientException;
> + public void remove(String[] path, String message, boolean force)
> + throws ClientException
> + {
> + remove(path, message, force, false);
> + }
>
> /**
> * Sets a file for deletion.
> @@ -369,9 +567,15 @@
> * @throws ClientException
> * @since 1.5
> */
> - void remove(String[] path, String message, boolean force,
> - boolean keepLocal)
> - throws ClientException;
> + public void remove(String[] path, String message, boolean force,
> + boolean keepLocal)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.remove(path, message, force, keepLocal);
> + }
> + }
>
> /**
> * Reverts a file to a pristine state.
> @@ -379,7 +583,13 @@
> * @param recurse recurse into subdirectories
> * @throws ClientException
> */
> - void revert(String path, boolean recurse) throws ClientException;
> + public void revert(String path, boolean recurse) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.revert(path, recurse);
> + }
> + }
>
> /**
> * Adds a file to the repository.
> @@ -387,7 +597,13 @@
> * @param recurse recurse into subdirectories
> * @throws ClientException
> */
> - void add(String path, boolean recurse) throws ClientException;
> + public void add(String path, boolean recurse) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.add(path, recurse);
> + }
> + }
>
> /**
> * Adds a file to the repository.
> @@ -398,8 +614,14 @@
> * @throws ClientException
> * @since 1.2
> */
> - void add(String path, boolean recurse, boolean force)
> - throws ClientException;
> + public void add(String path, boolean recurse, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.add(path, recurse, force);
> + }
> + }
>
> /**
> * Adds a file to the repository.
> @@ -413,9 +635,15 @@
> * @throws ClientException
> * @since 1.5
> */
> - void add(String path, boolean recurse, boolean force, boolean noIgnores,
> - boolean addParents)
> - throws ClientException;
> + public void add(String path, boolean recurse, boolean force,
> + boolean noIgnores, boolean addParents)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.add(path, recurse, force, noIgnores, addParents);
> + }
> + }
>
> /**
> * Updates the directory or file from repository
> @@ -426,8 +654,14 @@
> * @param recurse recursively update.
> * @throws ClientException
> */
> - long update(String path, Revision revision, boolean recurse)
> - throws ClientException;
> + public long update(String path, Revision revision, boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.update(path, revision, recurse);
> + }
> + }
>
> /**
> * Updates the directories or files from repository
> @@ -440,8 +674,15 @@
> * @throws ClientException
> * @since 1.2
> */
> - long[] update(String[] path, Revision revision, boolean recurse,
> - boolean ignoreExternals) throws ClientException;
> + public long[] update(String[] path, Revision revision, boolean recurse,
> + boolean ignoreExternals)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.update(path, revision, recurse, ignoreExternals);
> + }
> + }
>
> /**
> * Updates the directory or file from repository
> @@ -455,9 +696,16 @@
> * @throws ClientException
> * @since 1.5
> */
> - long update(String path, Revision revision, int depth,
> - boolean ignoreExternals, boolean allowUnverObstructions)
> - throws ClientException;
> + public long update(String path, Revision revision, int depth,
> + boolean ignoreExternals, boolean allowUnverObstructions)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.update(path, revision, depth, ignoreExternals,
> + allowUnverObstructions);
> + }
> + }
>
> /**
> * Updates the directories or files from repository
> @@ -471,55 +719,45 @@
> * @throws ClientException
> * @since 1.5
> */
> - long[] update(String[] path, Revision revision, int depth,
> - boolean ignoreExternals,
> - boolean allowUnverObstructions) throws ClientException;
> -
> - /**
> - * Commits changes to the repository.
> - * @param path files to commit.
> - * @param message log message.
> - * @param recurse whether the operation should be done recursively.
> - * @return The new revision number created by the commit, or
> - * {@link Revision.SVN_INVALID_REVNUM} if the revision number is
> - * invalid.
> - * @throws ClientException
> - */
> - long commit(String[] path, String message, boolean recurse)
> - throws ClientException;
> -
> - /**
> - * Commits changes to the repository.
> - * @param path files to commit.
> - * @param message log message.
> - * @param recurse whether the operation should be done recursively.
> - * @param noUnlock do remove any locks
> - * @return The new revision number created by the commit, or
> - * {@link Revision.SVN_INVALID_REVNUM} if the revision number is
> - * invalid.
> - * @throws ClientException
> - * @since 1.2
> - */
> - long commit(String[] path, String message, boolean recurse,
> - boolean noUnlock) throws ClientException;
> -
> - /**
> - * Commits changes to the repository.
> - * @param path files to commit.
> - * @param message log message.
> - * @param recurse whether the operation should be done recursively.
> - * @param noUnlock do remove any locks
> - * @param keepChangelist keep changelist associations after the commit.
> - * @param changelistName if non-null, filter paths using changelist
> - * @return The new revision number created by the commit, or
> - * {@link Revision.SVN_INVALID_REVNUM} if the revision number is
> - * invalid.
> - * @throws ClientException
> - * @since 1.5
> - */
> - long commit(String[] path, String message, boolean recurse,
> - boolean noUnlock, boolean keepChangelist, String changelistName)
> - throws ClientException;
> + public long[] update(String[] path, Revision revision, int depth,
> + boolean ignoreExternals,
> + boolean allowUnverObstructions)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.update(path, revision, depth, ignoreExternals,
> + allowUnverObstructions);
> + }
> + }
> +
> + /**
> + * @see org.tigris.subversion.javahl.SVNClientInterface.commit(String[], String, boolean)
> + */
> + public long commit(String[] path, String message, boolean recurse)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + return worker.commit(path, message, recurse, false);
> + }
> + }
> +
> + /**
> + * @see org.tigris.subversion.javahl.SVNClientInterface.commit(String[], String, boolean, boolean, boolean, String)
> + * @since 1.5
> + */
> + public long commit(String[] path, String message, boolean recurse,
> + boolean noUnlock, boolean keepChangelist,
> + String changelistName)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + return worker.commit(path, message, recurse, noUnlock,
> + keepChangelist, changelistName);
> + }
> + }
>
> /**
> * Copy versioned paths with the history preserved.
> @@ -533,10 +771,18 @@
> * @param makeParents Whether to create intermediate parents
> * @throws ClientException If the copy operation fails.
> * @since 1.5
> + * @see org.tigris.subversion.javahl.SVNClientInterface.copy(String[], String, String, Revision, boolean)
> */
> - void copy(CopySource[] sources, String destPath, String message,
> - boolean copyAsChild, boolean makeParents)
> - throws ClientException;
> + public void copy(CopySource[] sources, String destPath, String message,
> + boolean copyAsChild, boolean makeParents)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.copy(sources, destPath, message, copyAsChild,
> + makeParents);
> + }
> + }
>
> /**
> * Copy versioned paths with the history preserved (with
> @@ -548,8 +794,14 @@
> * @param revision source revision
> * @throws ClientException
> */
> - void copy(String srcPath, String destPath, String message,
> - Revision revision) throws ClientException;
> + public void copy(String srcPath, String destPath, String message,
> + Revision revision) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.copy(srcPath, destPath, message, revision);
> + }
> + }
>
> /**
> * Move or rename versioned paths.
> @@ -565,33 +817,55 @@
> * @param makeParents Whether to create intermediate parents
> * @throws ClientException If the move operation fails.
> * @since 1.5
> + * @see org.tigris.subversion.javahl.SVNClientInterface.move(String[], String, String, boolean, boolean)
> */
> - void move(String[] srcPaths, String destPath, String message,
> - boolean force, boolean moveAsChild, boolean makeParents)
> - throws ClientException;
> + public void move(String[] srcPaths, String destPath, String message,
> + boolean force, boolean moveAsChild,
> + boolean makeParents)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.move(srcPaths, destPath, message, force, moveAsChild,
> + makeParents);
> + }
> + }
>
> /**
> * @deprecated Use move() without a Revision parameter.
> * @see org.tigris.subversion.javahl.SVNClientInterface.move(String[], String, String, boolean, boolean)
> * @since 1.2
> */
> - void move(String srcPath, String destPath, String message,
> - Revision ignored, boolean force)
> - throws ClientException;
> + public void move(String srcPath, String destPath, String message,
> + Revision revision, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.move(srcPath, destPath, message, revision, force);
> + }
> + }
>
> /**
> * Move or rename versioned paths (with <code>moveAsChild</code>
> * behavior).
> *
> - * @param srcPath source path or url
> - * @param destPath destination path or url
> - * @param message commit message if destPath is an url
> - * @param force even with local modifications.
> + * @param srcPath source path or url
> + * @param destPath destination path or url
> + * @param message commit message if destPath is an url
> + * @param force even with local modifications.
> * @throws ClientException
> - * @since 1.2
> + *
> */
> - void move(String srcPath, String destPath, String message,
> - boolean force) throws ClientException;
> + public void move(String srcPath, String destPath, String message,
> + boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.move(srcPath, destPath, message, force);
> + }
> + }
>
> /**
> * Creates a directory directly in a repository or creates a
> @@ -602,8 +876,14 @@
> * @throws ClientException
> * @since 1.5
> */
> - void mkdir(String[] path, String message, boolean makeParents)
> - throws ClientException;
> + public void mkdir(String[] path, String message, boolean makeParents)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.mkdir(path, message, makeParents);
> + }
> + }
>
> /**
> * Creates a directory directly in a repository or creates a
> @@ -612,7 +892,13 @@
> * @param message commit message to used if path contains urls
> * @throws ClientException
> */
> - void mkdir(String[] path, String message) throws ClientException;
> + public void mkdir(String[] path, String message) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.mkdir(path, message);
> + }
> + }
>
> /**
> * Recursively cleans up a local directory, finishing any
> @@ -620,7 +906,13 @@
> * @param path a local directory.
> * @throws ClientException
> */
> - void cleanup(String path) throws ClientException;
> + public void cleanup(String path) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.cleanup(path);
> + }
> + }
>
> /**
> * Removes the 'conflicted' state on a file.
> @@ -628,7 +920,13 @@
> * @param recurse recurce into subdirectories
> * @throws ClientException
> */
> - void resolved(String path, boolean recurse) throws ClientException;
> + public void resolved(String path, boolean recurse) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.resolved(path,recurse);
> + }
> + }
>
> /**
> * Exports the contents of either a subversion repository into a
> @@ -640,27 +938,44 @@
> * @param force set if it is ok to overwrite local files
> * @throws ClientException
> */
> - long doExport(String srcPath, String destPath, Revision revision,
> - boolean force) throws ClientException;
> + public long doExport(String srcPath, String destPath, Revision revision,
> + boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.doExport(srcPath, destPath, revision, force);
> + }
> + }
>
> /**
> * Exports the contents of either a subversion repository into a
> * 'clean' directory (meaning a directory with no administrative
> * directories).
> - * @param srcPath the url of the repository path to be exported
> - * @param destPath a destination path that must not already exist.
> - * @param revision the revsion to be exported
> - * @param pegRevision the revision to interpret srcPath
> - * @param force set if it is ok to overwrite local files
> + *
> + * @param srcPath the url of the repository path to be exported
> + * @param destPath a destination path that must not already exist.
> + * @param revision the revsion to be exported
> + * @param pegRevision the revision to interpret srcPath
> + * @param force set if it is ok to overwrite local files
> * @param ignoreExternals ignore external during export
> - * @param recurse recurse to subdirectories
> - * @param nativeEOL which EOL characters to use during export
> + * @param recurse recurse to subdirectories
> + * @param nativeEOL which EOL characters to use during export
> * @throws ClientException
> * @since 1.2
> */
> - long doExport(String srcPath, String destPath, Revision revision,
> - Revision pegRevision, boolean force, boolean ignoreExternals,
> - boolean recurse, String nativeEOL) throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Exports the contents of either a subversion repository into a
> @@ -678,24 +993,38 @@
> * @throws ClientException
> * @since 1.5
> */
> - long doExport(String srcPath, String destPath, Revision revision,
> + public long doExport(String srcPath, String destPath, Revision revision,
> Revision pegRevision, boolean force, boolean ignoreExternals,
> int depth, String nativeEOL)
> - throws ClientException;
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + return worker.doExport(srcPath, destPath, revision, pegRevision,
> + force, ignoreExternals, depth, nativeEOL);
> + }
> + }
>
> /**
> * Update local copy to mirror a new url.
> * @param path the working copy path
> * @param url the new url for the working copy
> * @param revision the new base revision of working copy
> - * @param depth how deep to traverse into subdirectories
> + * @param recurse traverse into subdirectories
> * @param allowUnverObstructions allow unversioned paths that obstruct adds
> * @throws ClientException
> * @since 1.5
> */
> - long doSwitch(String path, String url, Revision revision, int depth,
> - boolean allowUnverObstructions)
> - throws ClientException;
> + public long doSwitch(String path, String url, Revision revision,
> + int depth, boolean allowUnverObstructions)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.doSwitch(path, url, revision, depth,
> + allowUnverObstructions);
> + }
> + }
>
> /**
> * Update local copy to mirror a new url.
> @@ -705,8 +1034,15 @@
> * @param recurse traverse into subdirectories
> * @throws ClientException
> */
> - long doSwitch(String path, String url, Revision revision, boolean recurse)
> - throws ClientException;
> + public long doSwitch(String path, String url, Revision revision,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.doSwitch(path, url, revision, recurse);
> + }
> + }
>
> /**
> * Import a file or directory into a repository directory at
> @@ -717,8 +1053,15 @@
> * @param recurse traverse into subdirectories
> * @throws ClientException
> */
> - void doImport(String path, String url, String message, boolean recurse)
> - throws ClientException;
> + public void doImport(String path, String url, String message,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.doImport(path, url, message, recurse);
> + }
> + }
>
> /**
> * Merge changes from two paths into a new local path.
> @@ -731,28 +1074,44 @@
> * @param recurse traverse into subdirectories
> * @throws ClientException
> */
> - void merge(String path1, Revision revision1, String path2,
> - Revision revision2, String localPath, boolean force,
> - boolean recurse) throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Merge changes from two paths into a new local path.
> - * @param path1 first path or url
> - * @param revision1 first revision
> - * @param path2 second path or url
> - * @param revision2 second revision
> - * @param localPath target local path
> - * @param force overwrite local changes
> - * @param recurse traverse into subdirectories
> + *
> + * @param path1 first path or url
> + * @param revision1 first revision
> + * @param path2 second path or url
> + * @param revision2 second revision
> + * @param localPath target local path
> + * @param force overwrite local changes
> + * @param recurse traverse into subdirectories
> * @param ignoreAncestry ignore if files are not related
> - * @param dryRun do not change anything
> + * @param dryRun do not change anything
> * @throws ClientException
> * @since 1.2
> */
> - void merge(String path1, Revision revision1, String path2,
> - Revision revision2, String localPath, boolean force,
> - boolean recurse, boolean ignoreAncestry, boolean dryRun)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Merge changes from two paths into a new local path.
> @@ -769,29 +1128,44 @@
> * @throws ClientException
> * @since 1.5
> */
> - void merge(String path1, Revision revision1, String path2,
> - Revision revision2, String localPath, boolean force, int depth,
> - boolean ignoreAncestry, boolean dryRun)
> - throws ClientException;
> + public void merge(String path1, Revision revision1, String path2,
> + Revision revision2, String localPath, boolean force,
> + int depth, boolean ignoreAncestry, boolean dryRun)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.merge(path1, revision1, path2, revision2, localPath, force,
> + depth, ignoreAncestry, dryRun);
> + }
> + }
>
> /**
> * Merge changes from two paths into a new local path.
> - * @param path path or url
> - * @param pegRevision revision to interpret path
> - * @param revision1 first revision
> - * @param revision2 second revision
> - * @param localPath target local path
> - * @param force overwrite local changes
> - * @param recurse traverse into subdirectories
> + *
> + * @param path path or url
> + * @param pegRevision revision to interpret path
> + * @param revision1 first revision
> + * @param revision2 second revision
> + * @param localPath target local path
> + * @param force overwrite local changes
> + * @param recurse traverse into subdirectories
> * @param ignoreAncestry ignore if files are not related
> - * @param dryRun do not change anything
> + * @param dryRun do not change anything
> * @throws ClientException
> * @since 1.2
> */
> - void merge(String path, Revision pegRevision, Revision revision1,
> - Revision revision2, String localPath, boolean force,
> - boolean recurse, boolean ignoreAncestry, boolean dryRun)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Merge changes from two paths into a new local path.
> @@ -808,10 +1182,17 @@
> * @throws ClientException
> * @since 1.5
> */
> - void merge(String path, Revision pegRevision, Revision revision1,
> - Revision revision2, String localPath, boolean force, int depth,
> - boolean ignoreAncestry, boolean dryRun)
> - throws ClientException;
> + public void merge(String path, Revision pegRevision, Revision revision1,
> + Revision revision2, String localPath, boolean force,
> + int depth, boolean ignoreAncestry, boolean dryRun)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.merge(path, pegRevision, revision1, revision2, localPath,
> + force, depth, ignoreAncestry, dryRun);
> + }
> + }
>
> /**
> * Merge set of revisions into a new local path.
> @@ -826,20 +1207,30 @@
> * @throws ClientException
> * @since 1.5
> */
> - void merge(String path, Revision pegRevision, RevisionRange[] revisions,
> - String localPath, boolean force, int depth,
> - boolean ignoreAncestry, boolean dryRun) throws ClientException;
> -
> - /**
> - * Get merge info for <code>path</code> at <code>revision</code>.
> - * @param path Path or URL.
> - * @param revision Revision at which to get the merge info for
> - * <code>path</code>.
> - * @throws SubversionException
> - * @since 1.5
> - */
> - MergeInfo getMergeInfo(String path, Revision revision)
> - throws SubversionException;
> + public void merge(String path, Revision pegRevision,
> + RevisionRange[] revisions, String localPath,
> + boolean force, int depth, boolean ignoreAncestry,
> + boolean dryRun) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.merge(path, pegRevision, revisions, localPath, force,
> + depth, ignoreAncestry, dryRun);
> + }
> + }
> +
> + /**
> + * @see 1.5 org.tigris.subversion.javahl.SVNClientInterface#getMergeInfo(String, Revision)
> + * @since 1.5
> + */
> + public MergeInfo getMergeInfo(String path, Revision revision)
> + throws SubversionException
> + {
> + synchronized (clazz)
> + {
> + return worker.getMergeInfo(path, revision);
> + }
> + }
>
> /**
> * Display the differences between two paths
> @@ -851,28 +1242,44 @@
> * @param recurse traverse into subdirectories
> * @throws ClientException
> */
> - void diff(String target1, Revision revision1, String target2,
> - Revision revision2, String outFileName, boolean recurse)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Display the differences between two paths
> - * @param target1 first path or url
> - * @param revision1 first revision
> - * @param target2 second path or url
> - * @param revision2 second revision
> - * @param outFileName file name where difference are written
> - * @param recurse traverse into subdirectories
> + *
> + * @param target1 first path or url
> + * @param revision1 first revision
> + * @param target2 second path or url
> + * @param revision2 second revision
> + * @param outFileName file name where difference are written
> + * @param recurse traverse into subdirectories
> * @param ignoreAncestry ignore if files are not related
> - * @param noDiffDeleted no output on deleted files
> - * @param force diff even on binary files
> + * @param noDiffDeleted no output on deleted files
> + * @param force diff even on binary files
> * @throws ClientException
> * @since 1.2
> */
> - void diff(String target1, Revision revision1, String target2,
> - Revision revision2, String outFileName, boolean recurse,
> - boolean ignoreAncestry, boolean noDiffDeleted, boolean force)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Display the differences between two paths
> @@ -888,29 +1295,48 @@
> * @throws ClientException
> * @since 1.5
> */
> - void diff(String target1, Revision revision1, String target2,
> - Revision revision2, String outFileName, int depth,
> - boolean ignoreAncestry, boolean noDiffDeleted, boolean force)
> - throws ClientException;
> + public void diff(String target1, Revision revision1, String target2,
> + Revision revision2, String outFileName, int depth,
> + boolean ignoreAncestry, boolean noDiffDeleted,
> + boolean force)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.diff(target1, revision1, target2, revision2, outFileName,
> + depth, ignoreAncestry, noDiffDeleted, force);
> + }
> + }
>
> /**
> * Display the differences between two paths
> - * @param target path or url
> - * @param pegRevision revision tointerpret target
> - * @param startRevision first Revision to compare
> - * @param endRevision second Revision to compare
> - * @param outFileName file name where difference are written
> - * @param recurse traverse into subdirectories
> + *
> + * @param target path or url
> + * @param pegRevision revision tointerpret target
> + * @param startRevision first Revision to compare
> + * @param endRevision second Revision to compare
> + * @param outFileName file name where difference are written
> + * @param recurse traverse into subdirectories
> * @param ignoreAncestry ignore if files are not related
> - * @param noDiffDeleted no output on deleted files
> - * @param force diff even on binary files
> + * @param noDiffDeleted no output on deleted files
> + * @param force diff even on binary files
> * @throws ClientException
> * @since 1.2
> */
> - void diff(String target, Revision pegRevision, Revision startRevision,
> - Revision endRevision, String outFileName, boolean recurse,
> - boolean ignoreAncestry, boolean noDiffDeleted, boolean force)
> - throws ClientException;
> + 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);
> + }
> + }
>
> /**
> * Display the differences between two paths
> @@ -926,10 +1352,19 @@
> * @throws ClientException
> * @since 1.5
> */
> - void diff(String target, Revision pegRevision, Revision startRevision,
> - Revision endRevision, String outFileName, int depth,
> - boolean ignoreAncestry, boolean noDiffDeleted, boolean force)
> - throws ClientException;
> + public void diff(String target, Revision pegRevision,
> + Revision startRevision, Revision endRevision,
> + String outFileName, int depth, boolean ignoreAncestry,
> + boolean noDiffDeleted, boolean force)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.diff(target, pegRevision, startRevision, endRevision,
> + outFileName, depth, ignoreAncestry, noDiffDeleted,
> + force);
> + }
> + }
>
> /**
> * Produce a diff summary which lists the items changed between
> @@ -951,11 +1386,18 @@
> * @throws ClientException
> * @since 1.5
> */
> - void diffSummarize(String target1, Revision revision1,
> - String target2, Revision revision2,
> - int depth, boolean ignoreAncestry,
> - DiffSummaryReceiver receiver)
> - throws ClientException;
> + public void diffSummarize(String target1, Revision revision1,
> + String target2, Revision revision2,
> + int depth, boolean ignoreAncestry,
> + DiffSummaryReceiver receiver)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.diffSummarize(target1, revision1, target2, revision2,
> + depth, ignoreAncestry, receiver);
> + }
> + }
>
> /**
> * Produce a diff summary which lists the items changed between
> @@ -984,40 +1426,68 @@
> * @throws ClientException
> * @since 1.5
> */
> - void diffSummarize(String target, Revision pegRevision,
> - Revision startRevision, Revision endRevision,
> - int depth, boolean ignoreAncestry,
> - DiffSummaryReceiver receiver)
> - throws ClientException;
> + public void diffSummarize(String target, Revision pegRevision,
> + Revision startRevision, Revision endRevision,
> + int depth, boolean ignoreAncestry,
> + DiffSummaryReceiver receiver)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.diffSummarize(target, pegRevision, startRevision,
> + endRevision, depth, ignoreAncestry,
> + receiver);
> + }
> + }
>
> /**
> * Retrieves the properties of an item
> * @param path the path of the item
> * @return array of property objects
> */
> - PropertyData[] properties(String path) throws ClientException;
> + public PropertyData[] properties(String path) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.properties(path);
> + }
> + }
>
> /**
> * Retrieves the properties of an item
> - * @param path the path of the item
> - * @param revision the revision of the item
> + *
> + * @param path the path of the item
> + * @param revision the revision of the item
> * @return array of property objects
> * @since 1.2
> */
> - PropertyData[] properties(String path, Revision revision)
> - throws ClientException;
> + public PropertyData[] properties(String path, Revision revision)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.properties(path, revision);
> + }
> + }
>
> /**
> * Retrieves the properties of an item
> - * @param path the path of the item
> - * @param revision the revision of the item
> + *
> + * @param path the path of the item
> + * @param revision the revision of the item
> * @param pegRevision the revision to interpret path
> * @return array of property objects
> * @since 1.2
> */
> - PropertyData[] properties(String path, Revision revision,
> - Revision pegRevision)
> - throws ClientException;
> + public PropertyData[] properties(String path, Revision revision,
> + Revision pegRevision)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return properties(path, revision, pegRevision);
> + }
> + }
>
> /**
> * Retrieves the properties of an item
> @@ -1029,9 +1499,16 @@
> * @param callback the callback to use to return the properties
> * @since 1.5
> */
> - void properties(String path, Revision revision, Revision pegRevision,
> - int depth, ProplistCallback callback)
> - throws ClientException;
> + public void properties(String path, Revision revision,
> + Revision pegRevision, int depth,
> + ProplistCallback callback)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.properties(path, revision, pegRevision, depth, callback);
> + }
> + }
>
> /**
> * Sets one property of an item with a String value
> @@ -1041,22 +1518,36 @@
> * @param recurse set property also on the subdirectories
> * @throws ClientException
> */
> - void propertySet(String path, String name, String value, boolean recurse)
> - throws ClientException;
> + public void propertySet(String path, String name, String value,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertySet(path, name, value, recurse);
> + }
> + }
>
> /**
> * Sets one property of an item with a String value
> - * @param path path of the item
> - * @param name name of the property
> - * @param value new value of the property
> - * @param recurse set property also on the subdirectories
> - * @param force do not check if the value is valid
> + *
> + * @param path path of the item
> + * @param name name of the property
> + * @param value new value of the property
> + * @param recurse set property also on the subdirectories
> + * @param force do not check if the value is valid
> * @throws ClientException
> * @since 1.2
> */
> - void propertySet(String path, String name, String value, boolean recurse,
> - boolean force)
> - throws ClientException;
> + public void propertySet(String path, String name, String value,
> + boolean recurse, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertySet(path, name, value, recurse, force);
> + }
> + }
>
> /**
> * Sets one property of an item with a byte array value
> @@ -1066,22 +1557,35 @@
> * @param recurse set property also on the subdirectories
> * @throws ClientException
> */
> - void propertySet(String path, String name, byte[] value, boolean recurse)
> - throws ClientException;
> + public void propertySet(String path, String name, byte[] value,
> + boolean recurse) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertySet(path, name, value, recurse);
> + }
> + }
>
> /**
> * Sets one property of an item with a byte array value
> - * @param path path of the item
> - * @param name name of the property
> - * @param value new value of the property
> - * @param recurse set property also on the subdirectories
> - * @param force do not check if the value is valid
> + *
> + * @param path path of the item
> + * @param name name of the property
> + * @param value new value of the property
> + * @param recurse set property also on the subdirectories
> + * @param force do not check if the value is valid
> * @throws ClientException
> * @since 1.2
> */
> - void propertySet(String path, String name, byte[] value, boolean recurse,
> - boolean force)
> - throws ClientException;
> + public void propertySet(String path, String name, byte[] value,
> + boolean recurse, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertySet(path, name, value, recurse, force);
> + }
> + }
>
> /**
> * Remove one property of an item.
> @@ -1090,8 +1594,14 @@
> * @param recurse remove the property also on subdirectories
> * @throws ClientException
> */
> - void propertyRemove(String path, String name, boolean recurse)
> - throws ClientException;
> + public void propertyRemove(String path, String name, boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertyRemove(path, name, recurse);
> + }
> + }
>
> /**
> * Create and sets one property of an item with a String value
> @@ -1101,23 +1611,36 @@
> * @param recurse set property also on the subdirectories
> * @throws ClientException
> */
> - void propertyCreate(String path, String name, String value,
> - boolean recurse)
> - throws ClientException;
> + public void propertyCreate(String path, String name, String value,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertyCreate(path, name, value, recurse);
> + }
> + }
>
> /**
> * Create and sets one property of an item with a String value
> - * @param path path of the item
> - * @param name name of the property
> - * @param value new value of the property
> - * @param recurse set property also on the subdirectories
> - * @param force do not check if the value is valid
> + *
> + * @param path path of the item
> + * @param name name of the property
> + * @param value new value of the property
> + * @param recurse set property also on the subdirectories
> + * @param force do not check if the value is valid
> * @throws ClientException
> * @since 1.2
> */
> - void propertyCreate(String path, String name, String value,
> - boolean recurse, boolean force)
> - throws ClientException;
> + public void propertyCreate(String path, String name, String value,
> + boolean recurse, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertyCreate(path, name, value, recurse, force);
> + }
> + }
>
> /**
> * Create and sets one property of an item with a byte array value
> @@ -1127,23 +1650,36 @@
> * @param recurse set property also on the subdirectories
> * @throws ClientException
> */
> - void propertyCreate(String path, String name, byte[] value,
> - boolean recurse)
> - throws ClientException;
> + public void propertyCreate(String path, String name, byte[] value,
> + boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertyCreate(path, name, value, recurse);
> + }
> + }
>
> /**
> * Create and sets one property of an item with a byte array value
> - * @param path path of the item
> - * @param name name of the property
> - * @param value new value of the property
> - * @param recurse set property also on the subdirectories
> - * @param force do not check if the value is valid
> + *
> + * @param path path of the item
> + * @param name name of the property
> + * @param value new value of the property
> + * @param recurse set property also on the subdirectories
> + * @param force do not check if the value is valid
> * @throws ClientException
> * @since 1.2
> */
> - void propertyCreate(String path, String name, byte[] value,
> - boolean recurse, boolean force)
> - throws ClientException;
> + public void propertyCreate(String path, String name, byte[] value,
> + boolean recurse, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.propertyCreate(path, name, value, recurse, force);
> + }
> + }
>
> /**
> * Retrieve one revsision property of one item
> @@ -1153,19 +1689,32 @@
> * @return the Property
> * @throws ClientException
> */
> - PropertyData revProperty(String path, String name, Revision rev)
> - throws ClientException;
> + public PropertyData revProperty(String path, String name, Revision rev)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.revProperty(path, name, rev);
> + }
> + }
>
> /**
> * Retrieve all revsision properties of one item
> - * @param path path of the item
> - * @param rev revision to retrieve
> + *
> + * @param path path of the item
> + * @param rev revision to retrieve
> * @return the Properties
> * @throws ClientException
> * @since 1.2
> */
> - PropertyData[] revProperties(String path, Revision rev)
> - throws ClientException;
> + public PropertyData[] revProperties(String path, Revision rev)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.revProperties(path, rev);
> + }
> + }
>
> /**
> * set one revsision property of one item
> @@ -1173,13 +1722,19 @@
> * @param name name of the property
> * @param rev revision to retrieve
> * @param value value of the property
> - * @param force use force to set
> + * @param force
> * @throws ClientException
> * @since 1.2
> */
> - void setRevProperty(String path, String name, Revision rev, String value,
> - boolean force)
> - throws ClientException;
> + public void setRevProperty(String path, String name, Revision rev,
> + String value, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.setRevProperty(path, name, rev, value, force);
> + }
> + }
>
> /**
> * Retrieve one property of one iten
> @@ -1188,71 +1743,115 @@
> * @return the Property
> * @throws ClientException
> */
> - PropertyData propertyGet(String path, String name) throws ClientException;
> + public PropertyData propertyGet(String path, String name)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.propertyGet(path, name);
> + }
> + }
>
> /**
> * Retrieve one property of one iten
> - * @param path path of the item
> - * @param name name of property
> - * @param revision revision of the item
> + *
> + * @param path path of the item
> + * @param name name of property
> + * @param revision revision of the item
> * @return the Property
> * @throws ClientException
> * @since 1.2
> */
> - PropertyData propertyGet(String path, String name, Revision revision)
> - throws ClientException;
> + public PropertyData propertyGet(String path,
> + String name,
> + Revision revision)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.propertyGet(path, name, revision);
> + }
> + }
>
> /**
> * Retrieve one property of one iten
> - * @param path path of the item
> - * @param name name of property
> - * @param revision revision of the item
> + *
> + * @param path path of the item
> + * @param name name of property
> + * @param revision revision of the item
> * @param pegRevision the revision to interpret path
> * @return the Property
> * @throws ClientException
> * @since 1.2
> */
> - PropertyData propertyGet(String path, String name, Revision revision,
> - Revision pegRevision)
> - throws ClientException;
> + public PropertyData propertyGet(String path,
> + String name,
> + Revision revision,
> + Revision pegRevision)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.propertyGet(path, name, revision, pegRevision);
> + }
> + }
>
> /**
> * Retrieve the content of a file
> * @param path the path of the file
> * @param revision the revision to retrieve
> - * @return the content as byte array
> + * @return the content as byte array
> * @throws ClientException
> */
> - byte[] fileContent(String path, Revision revision) throws ClientException;
> + public byte[] fileContent(String path, Revision revision)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.fileContent(path, revision);
> + }
> + }
>
> /**
> - * Retrieve the content of a file
> - * @param path the path of the file
> - * @param revision the revision to retrieve
> + * Retrieve the content of a file
> + *
> + * @param path the path of the file
> + * @param revision the revision to retrieve
> * @param pegRevision the revision to interpret path
> - * @return the content as byte array
> + * @return the content as byte array
> * @throws ClientException
> * @since 1.2
> */
> - byte[] fileContent(String path, Revision revision, Revision pegRevision)
> - throws ClientException;
> + public byte[] fileContent(String path, Revision revision,
> + Revision pegRevision)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.fileContent(path, revision, pegRevision);
> + }
> + }
>
> /**
> - * Write the file's content to the specified output stream. If
> - * you need an InputStream, use a
> - * PipedInputStream/PipedOutputStream combination.
> + * Write the file's content to the specified output stream.
> *
> * @param path the path of the file
> * @param revision the revision to retrieve
> * @param pegRevision the revision at which to interpret the path
> * @param the stream to write the file's content to
> * @throws ClientException
> - * @see PipedOutputStream
> - * @see PipedInputStream
> */
> - void streamFileContent(String path, Revision revision, Revision pegRevision,
> - int bufferSize, OutputStream stream)
> - throws ClientException;
> + public void streamFileContent(String path, Revision revision,
> + Revision pegRevision, int bufferSize,
> + OutputStream stream)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.streamFileContent(path, revision, pegRevision, bufferSize,
> + stream);
> + }
> + }
>
> /**
> * Rewrite the url's in the working copy
> @@ -1262,8 +1861,14 @@
> * @param recurse recurse into subdirectories
> * @throws ClientException
> */
> - void relocate(String from, String to, String path, boolean recurse)
> - throws ClientException;
> + public void relocate(String from, String to, String path, boolean recurse)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.relocate(from, to, path, recurse);
> + }
> + }
>
> /**
> * Return for each line of the file, the author and the revision of the
> @@ -1275,8 +1880,15 @@
> * @return the content together with author and revision of last change
> * @throws ClientException
> */
> - byte[] blame(String path, Revision revisionStart, Revision revisionEnd)
> - throws ClientException;
> + public byte[] blame(String path, Revision revisionStart,
> + Revision revisionEnd)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.blame(path,revisionStart, revisionEnd);
> + }
> + }
>
> /**
> * Retrieve the content together with the author, the revision and the date
> @@ -1288,8 +1900,17 @@
> * information
> * @throws ClientException
> */
> - void blame(String path, Revision revisionStart, Revision revisionEnd,
> - BlameCallback callback) throws ClientException;
> + public void blame(String path,
> + Revision revisionStart,
> + Revision revisionEnd,
> + BlameCallback callback)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.blame(path, revisionStart, revisionEnd, callback);
> + }
> + }
>
> /**
> * Retrieve the content together with the author, the revision and the date
> @@ -1303,9 +1924,19 @@
> * @throws ClientException
> * @since 1.2
> */
> - void blame(String path, Revision pegRevision, Revision revisionStart,
> - Revision revisionEnd,
> - BlameCallback callback) throws ClientException;
> + public void blame(String path,
> + Revision pegRevision,
> + Revision revisionStart,
> + Revision revisionEnd,
> + BlameCallback callback)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.blame(path, pegRevision, revisionStart, revisionEnd,
> + callback);
> + }
> + }
>
> /**
> * Retrieve the content together with the author, the revision and the date
> @@ -1321,34 +1952,55 @@
> * @since 1.5
> */
>
> - void blame(String path, Revision pegRevision, Revision revisionStart,
> - Revision revisionEnd, boolean ignoreMimeType,
> - BlameCallback callback) throws ClientException;
> -
> - /**
> - * Set directory for the configuration information, taking the
> - * usual steps to ensure that Subversion's config file templates
> - * exist in the specified location.. On Windows, setting a
> - * non-<code>null</code> value will override lookup of
> - * configuration in the registry.
> - * @param configDir Path of the directory, or <code>null</code>
> - * for the platform's default.
> - * @throws ClientException
> - */
> - void setConfigDirectory(String configDir) throws ClientException;
> + public void blame(String path,
> + Revision pegRevision,
> + Revision revisionStart,
> + Revision revisionEnd,
> + boolean ignoreMimeType,
> + BlameCallback callback)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.blame(path, pegRevision, revisionStart, revisionEnd,
> + ignoreMimeType, callback);
> + }
> + }
> +
> + /**
> + * @see org.tigris.subversion.javahl.SVNClientInterface.setConfigDirectory(String)
> + */
> + public void setConfigDirectory(String configDir) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.setConfigDirectory(configDir);
> + }
> + }
>
> /**
> * Get the configuration directory
> * @return the directory
> * @throws ClientException
> */
> - String getConfigDirectory() throws ClientException;
> + public String getConfigDirectory() throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.getConfigDirectory();
> + }
> + }
>
> /**
> * cancel the active operation
> * @throws ClientException
> */
> - void cancelOperation() throws ClientException;
> + public void cancelOperation() throws ClientException
> + {
> + // this method is not synchronized, because it is designed to be called
> + // from another thread
> + worker.cancelOperation();
> + }
>
> /**
> * Retrieves the working copy information for an item
> @@ -1356,64 +2008,124 @@
> * @return the information object
> * @throws ClientException
> */
> - Info info(String path) throws ClientException;
> + public Info info(String path) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.info(path);
> + }
> + }
>
> /**
> * Add paths to a changelist
> * @param paths paths to add to the changelist
> * @param changelist changelist name
> */
> - void addToChangelist(String[] paths, String changelist)
> - throws ClientException;
> + public void addToChangelist(String[] paths, String changelist)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.addToChangelist(paths, changelist);
> + }
> + }
>
> /**
> * Remove paths from a changelist
> * @param paths paths to remove from the changelist
> * @param changelist changelist name
> */
> - void removeFromChangelist(String[] paths, String changelist)
> - throws ClientException;
> + public void removeFromChangelist(String[] paths, String changelist)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.removeFromChangelist(paths, changelist);
> + }
> + }
>
> /**
> * Recursively get the paths which belong to a changelist
> * @param changelist changelist name
> * @param rootPath the wc path under which to check
> */
> - String[] getChangelist(String changelist, String rootPath)
> - throws ClientException;
> + public String[] getChangelist(String changelist, String rootPath)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + return worker.getChangelist(changelist, rootPath);
> + }
> + }
> +
> + /**
> + * @see org.tigris.subversion.javahl.SVNClientInterface.commit(String[], String, boolean, boolean)
> + * @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);
> + }
> + }
>
> /**
> * Lock a working copy item
> + *
> * @param path path of the item
> * @param comment
> * @param force break an existing lock
> * @throws ClientException
> * @since 1.2
> */
> - void lock(String[] path, String comment, boolean force)
> - throws ClientException;
> + public void lock(String[] path, String comment, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.lock(path, comment, force);
> + }
> + }
>
> /**
> * Unlock a working copy item
> + *
> * @param path path of the item
> * @param force break an existing lock
> * @throws ClientException
> * @since 1.2
> */
> - void unlock(String[] path, boolean force)
> - throws ClientException;
> + public void unlock(String[] path, boolean force)
> + throws ClientException
> + {
> + synchronized(clazz)
> + {
> + worker.unlock(path, force);
> + }
> + }
>
> /**
> * Retrieve information about repository or working copy items.
> - * @param pathOrUrl the path or the url of the item
> - * @param revision the revision of the item to return
> - * @param pegRevision the revision to interpret pathOrUrl
> - * @param recurse flag if to recurse, if the item is a directory
> - * @return the information objects
> - * @since 1.2
> - */
> - Info2[] info2(String pathOrUrl, Revision revision, Revision pegRevision,
> - boolean recurse) throws ClientException;
> + *
> + * @param pathOrUrl the path or the url of the item
> + * @param revision the revision of the item to return
> + * @param pegRevision the revision to interpret pathOrUrl
> + * @param recurse flag if to recurse, if the item is a directory
> + * @return the information objects
> + * @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);
> + }
> + }
>
> /**
> * Retrieve information about repository or working copy items.
> @@ -1425,9 +2137,29 @@
> * @return the information objects
> * @since 1.5
> */
> - void info2(String pathOrUrl, Revision revision, Revision pegRevision,
> - boolean recurse, InfoCallback callback)
> - throws ClientException;
> + public void info2(String pathOrUrl, Revision revision,
> + Revision pegRevision, boolean recurse,
> + InfoCallback callback)
> + throws ClientException
> + {
> + synchronized (clazz)
> + {
> + worker.info2(pathOrUrl, revision, pegRevision, recurse, callback);
> + }
> + }
> +
> + /**
> + * @see org.tigris.subversion.javahl.SVNClientInterface#getCopySource(String, Revision)
> + * @since 1.5
> + */
> + public CopySource getCopySource(String path, Revision revision)
> + throws SubversionException
> + {
> + synchronized (clazz)
> + {
> + return worker.getCopySource(path, revision);
> + }
> + }
>
> /**
> * Produce a compact "version number" for a working copy
> @@ -1438,19 +2170,13 @@
> * @throws ClientException
> * @since 1.2
> */
> - String getVersionInfo(String path, String trailUrl, boolean lastChanged)
> - throws ClientException;
> + public String getVersionInfo(String path, String trailUrl,
> + boolean lastChanged) throws ClientException
> + {
> + synchronized(clazz)
> + {
> + return worker.getVersionInfo(path, trailUrl, lastChanged);
> + }
> + }
>
> - /**
> - * Return the source a WC path or URL was copied from.
> - * @param path The path to determine a source for.
> - * @param revision The revision at which to determine a source.
> - * @return The last source <code>path</code> was copied from, or
> - * <code>null</code> if never copied.
> - * @throws SubversionException If there is a problem determing the
> - * copy source.
> - * @since 1.5
> - */
> - CopySource getCopySource(String path, Revision revision)
> - throws SubversionException;
> }
>
> Modified: trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java?pathrev=25348&r1=25347&r2=25348
> ==============================================================================
> --- trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java (original)
> +++ trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java Sat Jun 9 16:11:21 2007
> @@ -399,6 +399,7 @@
> * returned objects
> * @param includeMergedRevisions include log messages for revisions which
> * were merged.
> + * @param omitLogText supress log message text.
> * @param limit limit the number of log messages (if 0 or less no
> * limit)
> * @param callback the object to receive the messages
> @@ -408,7 +409,8 @@
> Revision revisionStart,
> Revision revisionEnd, boolean stopOnCopy,
> boolean discoverPath,
> - boolean includeMergedRevisions, long limit,
> + boolean includeMergedRevisions,
> + boolean omitLogText, long limit,
> LogMessageCallback callback)
> throws ClientException
> {
> @@ -416,7 +418,8 @@
> {
> worker.logMessages(path, pegRevision, revisionStart,
> revisionEnd, stopOnCopy, discoverPath,
> - includeMergedRevisions, limit, callback);
> + includeMergedRevisions, omitLogText,
> + limit, callback);
> }
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: svn-help@subversion.tigris.org
- application/pgp-signature attachment: stored
Received on Mon Jun 11 10:56:10 2007