Hello Biorn,

It is better to use another instance of SVNClientManager (and
SVN*Client) to call SVN*Client methods from within callbacks.
Otherwise, there may be issues with conflicting write access to the
working copy, authentication and other network operations.

Alexander Kitaev,
TMate Software,
http://subgit.com/ - Svn to Git Migration!
http://svnkit.com/ - Java [Sub]Versioning Library!
http://hg4j.com/ - Java Mercurial Library!
http://sqljet.com/ - Java SQLite Library!


On 13 June 2012 17:33, Biörnstad, Biörn <[email protected]> wrote:
> Hi,
>
> I did not find any documentation stating whether the SVN*Client classes are 
> reentrant or not. I found [1], but it contains no statement on SVN*Client 
> classes.
>
> I am interested in knowing whether I can call methods on a SVN*Client object 
> from the same SVNClientManager from within an event handler, e.g, from an 
> ISVNStatusHandler.
>
> Currently, I have code like the following, where wcClient is the SVNWCClient 
> from the same SVNClientManager as the SVNStatusClient that is calling the 
> below handler method.
>
>        public void handleStatus(SVNStatus status) throws SVNException {
>                SVNStatusType contentsStatus = status.getContentsStatus();
>
>                if (contentsStatus == SVNStatusType.STATUS_MISSING) {
>                        wcClient.doDelete(status.getFile(), false, false, 
> false);
>
> This code works fine, but I am not sure if it is safe to do so. I am also 
> planning on using the SVNUpdateClient from the same SVNClientManager from 
> within such a handler method.
>
> Thanks in advance,
> Biörn
>
> [1] http://svnkit.com/kb/dev-guide-multithreaded-environment.html

Reply via email to