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