Re: Status of new working copy format
From: Ed Hillmann <edhillmann_at_yahoo.com>
Date: 2006-09-04 00:11:49 CEST
No there's not. They are using the svnClientAdaptor for the core functionality. However, they found that for each file, it was creating a new process to call out to the svn client. So, the NetBeans client was quickly running out of available processes for average size directories in Unix environments. Plus the performance hit for creating each new process.
Other alternatives were looked at. While TMate's Java implementation is open source, it's license wasn't going to work with NetBeans, as it's platform can be used as the framework for a commercial product. Apparently, the TMate license only allowed Open Source licensing of the Java SVN layer if the product itself is open source.
And while JavaHL was optimal, it was seen as an installation issue for Unix environments. For Windows environments (and for the most part Linux), the required DLL/.SO should be provided with the installations files. But that couldn't be guaranteed for all the flavors of Unis they wanted to support out of the box.
So, in this case, for getting ISVNStatus and ISVNInfo data for a file, we parse the Working Copy itself. This is read-only access, as mentioned earlier (all the other access is through the svn client itself via the adaptor). We just have our own local objects which implement the SvnClientAdaptor interfaces (ISVNStatus and ISVNInfo) with the parsed data. This reduced the number of concurrent processes being created dramatically.
I came into this discussion late, being the contributor who asked for something to do. :) This is how it was explained to me. They had the justification on their project site, but I couldn't find just now. I was really hoping to use the JavaHL (as I was keen on using the API provided by Subversion), but was told that it wasn't an option.
----- Original Message ----
On Wed, 30 Aug 2006, Ben Collins-Sussman wrote:
> On 8/30/06, Mark Phippard <email@example.com> wrote:
Ed, if you're using JavaHL directly, or Subclipse's svnClientAdapter
This is an archived mail posted to the Subversion Dev mailing list.