subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey <an...@inbox.ru>
Subject Re: "svn pget svn:externals -r <rev> . -R" dramatically slow
Date Thu, 18 May 2017 13:31:46 GMT
Johan Corveleyn <jcorvel@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.

Mime
View raw message