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

Re: RFE: svn_client_ls() should return locking info

From: SteveKing <steveking_at_gmx.ch>
Date: 2005-04-30 16:47:18 CEST

Ben Collins-Sussman wrote:
> On Apr 30, 2005, at 9:22 AM, SteveKing wrote:
>> Sure, I could do that. Most of the features I'd like to implement in
>> TSVN could be done by calling several Subversion API's. The problem
>> here is as always speed. svn_client_ls() is slow enough as it is
>> (depending on server, but always _much_ slower than browsing it with a
>> webbrowser). Adding another call which contacts the repository would
>> make it so slow users would start complain a lot (they already do now,
>> but there's nothing I can do about that).
> Does that mean that you won't show remote locks in TSVN 1.2's repository
> browser? I would at least make it an option!

Autsch: YAO (yet another option) ;)

Ok, I'll think about it, but right now I'm more against than in favour
of that. I'll implement something and will try the speed.

> Your point about network turnarounds is taken; my first instinct for
> implementing svn_client_ls3() would be to call svn_ra_get_locks()
> internally and add the information to the dirent2_t's it returns. But
> then this would be just as slow as if you did this task yourself.

It would be a little bit faster. If you call svn_ra_get_locks() inside
svn_client_ls3(), then you can reuse, the ra session. I can't do that.
So if I call svn_ra_get_locks(), I have to create a new session object,
which means another round trip to the server including authentication.
By reusing the session, it's a little bit faster.

> So the only way to efficiently get lock information is to really change
> both network protocols, so that the lock info came back in the single
> svn_ra_get_dir() network request. (Actually, the ra_svn protocol would
> have to be extended here, but not DAV. ra_dav already asks for a list
> of properties when it does a recursive PROPFIND; it just needs to ask
> for an extra lock property.)

Hmmm - if ra_dav already has a list of properties, could this list be
passed to the client too? I mean every information which is available
and could be used by clients can help increase speed. Sure, if ra_dav
doesn't have that information right now, the entries could be set to
NULL - if a client then needs that information it can still ask for it.


   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Apr 30 16:48:09 2005

This is an archived mail posted to the Subversion Dev mailing list.