[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r25348 - in trunk/subversion/bindings/javahl: native src/org/tigris/subversion/javahl

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: 2007-06-11 14:12:45 CEST

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel Rall wrote:
> Hyrum, this commit seems to have overwritten the contents of
> SVNClientInterface with SVNClientSynchronized.

Yes, that's what seems to have happened in the commit mail...but not in
the repository:
hwright@spock:~/dev/svn-test$ svn diff
http://svn.collab.net/repos/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java@HEAD
http://svn.collab.net/repos/svn/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java@HEAD
| wc
   2380 10124 85133

Checking out a new working copy, visually inspecting the files in
question via both my web browser and ViewVC, and using 'svn diff' as
above, all indicate that SVNClientInterface and SVNClientSynchronized
are different files. Also, 'make check-javahl' still passes, which it
wouldn't if SVNClientInterface didn't exist.

So, unless the change has been rolled back (which is doesn't look like
has happened), the commit mail appears to be in error.

Can anybody else verify my claims?

- -Hyrum

> 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);
>> }
>> }
>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGbTwsCwOubk4kUXwRAgieAJ4lK/3S0jrNy3SZ7KtGJyqNVQ3X0QCfYBpc
1Xl7QAJx0DujkxPKgASr3GM=
=+5oC
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 11 14:09:42 2007

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.