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

Re: Status of new working copy format

From: Daniel Rall <dlr_at_collab.net>
Date: 2006-09-05 19:55:27 CEST

On Sun, 03 Sep 2006, Ed Hillmann wrote:

> 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.

svnClientAdapter can use the Subversion command-line client, JavaHL,
or JavaSVN -- it's not stuck to wrapping the command-line client
(though Netbeans might be?).

> 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.

Why not use svnClientAdapter with a fall-back approach which first
looks for JavaHL, then JavaSVN, then falls back to the command-line
adapter?

> 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.

  • application/pgp-signature attachment: stored
Received on Tue Sep 5 19:57:04 2006

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.