The Javahl problem caused by calling dispose() should be fixed in r1153799.
@Mark: Can you verify if this solves your problem? If this resolves the problem this fix might need backport to 1.6. Bert From: Mark Phippard [mailto:markp...@gmail.com] Sent: woensdag 3 augustus 2011 20:45 To: Bert Huijben Cc: Philip Martin; Subversion Development Subject: Re: Forcing the SQLite db to close? On Wed, Jul 27, 2011 at 3:35 PM, Bert Huijben <b...@qqmail.nl> wrote: > -----Original Message----- > From: Philip Martin [mailto:philip.mar...@wandisco.com] > Sent: woensdag 27 juli 2011 21:23 > To: Mark Phippard > Cc: Subversion Development > Subject: Re: Forcing the SQLite db to close? > > Mark Phippard <markp...@gmail.com> writes: > > > Noticed a problem in Eclipse. When someone wants to remove a project > from > > Eclipse, the .svn folder cannot be deleted because the wc.db file is in use. > > This is because, unlike the command line, when we are using JavaHL the > > process does not end until someone closes Eclipse. > > > > Is there an API we could add to JavaHL or something to tell SVN to close the > > DB handles so that the file is not locked? > > > > Bert/Stefan, how are you dealing with this problem in your GUI tools? I > > know you have access to more API than we have for JavaH, so maybe there > is > > already an API and it just needs to be exposed? > > There is a private function svn_wc__db_drop_root, I think that does what > you want. What do you want the public API to look like? Or you can close the wc context with svn_wc_context_destroy(). This closes all contexts at once. (Clearing the pool with svn_client_ctx_t / svn_wc_context_t has the same effect). I see that JavaHL has a ClientContext class and the Java code creates a private instance of this class. From what I can see in ClientContext.cpp it stores the svn_client_ctx_t in the global pool. /* Create a long-lived client context object in the global pool. */ SVN_JNI_ERR(svn_client_create_context(&persistentCtx, JNIUtil::getPool()), ); I wonder if we could simply add a method to JavaHL to destroy this context? I do not see anywhere that the wc_context is created in JavaHL native code so not sure if it would be possible to clear the pool used to store those. -- Thanks Mark Phippard http://markphip.blogspot.com/