On Tuesday 23 October 2012 11:42 PM, C. Michael Pilato wrote:
On 10/23/2012 01:46 PM, Bert Huijben wrote:
Before looking at the details some questions about the issue space:
How do you handle externals that are stored in svn:externals many directory
levels up? (Or even defined from above the current external)
How do you handle externals between multiple repositories?
How do you avoid infinite recursion (when an svn:external directly or
indirectly includes its parent)?
I would naturally assume that 'svn ls' behaves the same as 'svn export' in
these situations.
- externals defined outside the subtree which is being listed don't
get processed.
- externals which point to other repositories get listed from those
repositories.
- infinite recursion runs infinitely. :-) That's not ideal, I
know, but it is consistent with what happens today, if I'm not
mistaken. Any improvements we can make here for export/checkout/
update/etc. would likely help the list case, too.
My implementation behaves the same as 'svn export' in all of the above
situations.
I am getting 'svn:externals' property from svn_ra_get_dir2() and parsing it
with 'svn_wc_parse_externals_description3()' . For each external item,
it will contact
the external item URL and list contents from there.
Some other implementations of externals are using
svn_wc__externals_gather_definitions() to get externals information from
a WC path.
Can we use this function to read externals from a WC path or we should
always get
externals information from repository for a given path or URL?
Thanks & Regards,
Vijayaguru