On Wed, 2011-02-23, Julian Foad wrote:
> Stefan Sperling wrote:
> > (svn:externals ^/branches/foo baz)
> > |
> > .../foo/bar/baz
> > o----------------wcroot1
> > o----wcroot2
> >
> > The ambiguity arises because the local_abspath of wcroot2 is also
> > a local relpath within wcroot1.
>
> 'baz' is not a versioned node within wcroot1 so I don't see any
> ambiguity. I thought the intended interpretation was that each external
> tree is a separate WC, so, working with your example, I would expect
> each abspath to have an unambiguous interpretation as follows:
>
> abspath .../foo => wcroot1, relpath ".../foo"
> abspath .../foo/bar => wcroot1, relpath ".../foo/bar"
> abspath .../foo/bar/baz => wcroot2, relpath ""
>
> What is wrong with that approach? [...]
Sorry, I spoke hastily. I thought you meant ambiguity was the core of
the problem, but reading through your description in the issue, it looks
like the problem is more the difficulty of navigating "up" from an
external WC to its parent WC. When we pass around a "wcroot" object,
that provides no straightforward way to navigate up to a parent WC, nor
even to know that the WC is "external".
We need a handle that we can pass around that references the whole
nesting of WCs (where "WC" is defined as the scope of a single wcroot).
That could be a new thing that we can invent, but I wonder if instead it
would be reasonable to extend the functionality of the existing "wcroot"
object so that it knows about its place within a hierarchy of parent and
child wcroots.
Just thinking out loud.
- Julian
Received on 2011-02-23 17:14:00 CET