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

Re: status information

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Fri, 18 Jun 2010 15:06:59 +0200

On 18.06.2010 14:30, Stefan Sperling wrote:
> On Fri, Jun 18, 2010 at 01:19:18PM +0200, Stefan Küng wrote:
>> On 18.06.2010 06:46, Greg Stein wrote:
>>> The idea is: the status callback is invoked with the *limited* status
>>> information. If you want more, then from *within* that callback, make
>>> a function call back into the API to get the information you need.
>>>
>>> Look at that! No additional tree walks!
>>
>> Would work only if I'm allowed to use API's from libsvn_wc. But
>> those are supposed to go away.
>> In the callback, I can't use svn_client_* API's because the wc is
>> locked/in-use at that time and those API's will throw an error.
>
> The old APIs behaved like that with respect to locks.
>
> But the new ones can be different. Sqlite will manage reader locks for us.
> Any function call you make results in information being looked up in the
> database, except for information that can only be found on disk.
> That's my impression, anyway (someone please correct me if I'm wrong).
>
> The idea is not to remove the functionality libsvn_wc APIs provide,
> but to stop exposing the artificial barrier between libsvn_client
> and libsvn_wc in the public API. Instead, new libsvn_client APIs
> will provide any information you may need.

So as I said, what was suggested before simply can't be done in the
current state. Thanks for finally getting a reasonable answer to my
repeated complaints.

>>> Great. And if you were *listening*, Bert has said we'll do that at the
>>> client level. And even if we don't, then *you* can have a simple
>>> callback handler that grabs the extra information.
>>>
>>> This is not rocket science.
>>
>> Since we're not dealing with rockets here, I agree.
>
> :)
>
>> But please understand my situation here: you're talking about
>> removing APIs which I'm using extensively, and about removing the
>> APIs I would need to use in the callbacks. If you make the libsvn_wc
>> APIs non-public, then I can't do what you think I should do.
>
> We want to stop exposing the WC API so we can make changes more easily.
> A stable client API will be provided instead. I cannot tell you what
> this API will look like (that's what Bert and Greg are trying to get
> across), but I know that we won't remove functionality.

So again, I mentioned that I'm missing information which I can't get
without severe performance hits. And I get smashed because of my concerns.
You're the first one to tell me that there will be new APIs that will
allow me to do sometime later what I was yelled at to do now.

>>> And as Mike pointed out: we'd not going to screw you over. So stop
>>> your whining, make the extra calls in your callback, and let's move
>>> on. Offer some suggestions for improvements, rather than "wah wah, I
>>> don't like it".
>>
>> I made a perfectly fine suggestion, which got rejected only because
>> it's "against Subversion policies" and my question about where such
>> a policy is written down wasn't answered.
>
> I don't know either what Bert meant (maybe something related to
> binary compatibility?). It would be great to hear a better explanation.

Agreed. And I still think it would be good to have such a 'mask'
parameter and have the svn lib do all the work: this prevents having all
clients do the same work in (most likely) different ways and therefore
get inconsistent behavior over the different clients.

>>> Simple fact is: we're going for *fast*. If you want something less
>>
>> Yes, that's what I hear every time I bring something up. But making
>> something fast is not the same as reducing the functionality.
>
> Any reduction in functionality will be temporary. It simply doesn't
> make any sense for us to remove functionality.
>
>> You could speed up a status call even more if you only return one
>> information: it's versioned/not versioned.
>> That would be very very fast but also useless for most.
>> Making something fast IMHO means making fast what's slow, not
>> crippling it until nobody can use it anymore.
>
> Again, I think this is not what the wc-ng people are doing,
> and you are being offensive by repeatedly claiming that this was
> the case. Please stop assuming that they want to work against you.

I better not comment on that...

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
Received on 2010-06-18 15:07:46 CEST

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