[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: Andrey <andry_at_inbox.ru>
Date: Thu, 18 May 2017 16:31:46 +0300

Johan Corveleyn <jcorvel_at_gmail.com> ÐÉÓÁÌ(Á) × Ó×Ï£Í ÐÉÓØÍÅ Thu, 18 May
2017 15:51:01 +0300:

>> 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
Ok, i see your point. Yes, the svn:ignore works the same way and nothing
to do with these 2 "external records".

> 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.")
Ok. May be a --depth option for the "svn co" command like "--depth
directories"
to workaround this for script writers?

I am writing script to collect these externals and seems 1-2 minute of
waiting one directory of about (i've opened it in the Repository Browser
and took a look on the depth of directories there, it took 5 seconds) ~100
subdirectories and ~400 files is not worth to wait so long. So i suggest
some command to take all these
externals on the drive as is w/o files, for example, in to the TEMP
directory to traverse it offline.

I don't know, but why is not? At least it could reduce server disk work or
something.
Received on 2017-05-18 15:32:07 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.