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

Re: "svn pget svn:externals -r <rev> . -R" dramatically slow

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Thu, 18 May 2017 14:51:01 +0200

On Thu, May 18, 2017 at 1:58 PM, Andrey <andry_at_inbox.ru> wrote:
>>> Why is that important when the links are empty?
>>
>> External references are stored in properties called svn:externals.
>> I think Bert is referring to the retrieval of those properties.
>
> I meant an external reference of cause. By the link i mean peace of string
> in the output from the "svn pget svn:externals" command.
>
> There is 2 records which are empty:
> ```
> https://domain.ab/svn/proj2/trunk/proj2-gui -
> https://domain.ab/svn/proj2/trunk/proj2-gui/lib/Resource/Files -
> ```
> Why just not to ignore them? Anyway they are don't have any mapping to a
> local directory.

In general I think it's fine for a directory to have an empty
svn:externals property (have not tested it, but I guess it's fine). So
the property is there, but has no content. That's not the problem.
When you request "svn propget svn:externals -R $URL" the client and
server still have to do the work to retrieve that property from all
nodes in the entire subtree -- it doesn't matter whether it's empty or
not at this point (it doesn't even matter whether it's defined or not,
they still have to look it up).

To rule out any relation to "svn:externals" in itself, can you test if
you get the same "propget -R" performance if you retrieve another
property with exactly the same command?

For instance, try:
svn pget fooprop "https://domain.ab/svn/proj2/trunk@1193" -R --non-interactive

On my svn repository that command takes also a minute or 2 for a
reasonably large tree.

So even without any property defined anywhere, your "propget -R"
request still makes the client (and/or server) crawl the entire
subtree and requesting the property at every node, and this seems to
take a lot of time (like Bert said, "There is no optimized code path
for retrieving properties recursively directly from the server.")

-- 
Johan
Received on 2017-05-18 14:51:26 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.