On Tue, Feb 9, 2010 at 7:51 PM, C. Michael Pilato <cmpil...@collab.net> wrote: > Ivan Zhakov wrote: >> On Tue, Feb 9, 2010 at 7:09 PM, Julian Foad <julian.f...@wandisco.com> wrote: >>> There are several places where the client should/could re-use a >>> connection. During a multi-target update command like "svn up a b c" is >>> another example. >>> >>> Would you, or anyone you know, be interested in working on it? I would >>> be glad to give you some help and guidance. >>> >> Agreed. svn_client_* functions spend a lot time on creating RA >> connection. My idea was to introduce "connection pool" to hold and >> reuse RA connections. This pool can be stored in svn_client_ctx_t or >> in separate object. > > I was about to suggest exactly the same idea, Ivan! I'd love to have such a > thing handy with some nice private APIs for locating a connection for use > (or re-use). The only problem I see is RA session root relative paths [1], since we end up with pool of connection for one repository but with different session root. We may workaround it using convention that svn_client_* RA sessions always rooted to repository root [2].
> I imagine that anyone who has looked at the merge tracking > code would see the value here. Yes, merge tracking code is what I was thinking about. [1] http://svn.haxx.se/dev/archive-2009-10/0334.shtml [2] http://svn.haxx.se/dev/archive-2009-10/0315.shtml -- Ivan Zhakov VisualSVN Team