Mike Dixon wrote:
> Hello,
>
> I had an unpleasant run-in with relative externals this week, and I
> figured I'd recount it here to find out what (if anything) we did
> wrong, or get it filed as a bug. Hopefully this is the right place to
> post this; I'm not sure whether it's a problem with the client or the
> server.
>
> I just reproduced it on a test repository, so if you want to play
> along from home, make yourself a new repository that looks like the
> following, using a 1.5.1 or 1.5.2 svn server and TSVN 1.5.3.1378.
> (Those being the versions that I've tested personally.)
>
> /trunk
> /trunk/folder with space
> /trunk/folder with space/libs
> /trunk/folder with space/libs/library1
> /trunk/folder with space/projects
> /trunk/folder with space/projects/project1
>
> Looks okay, right? Sure, the spaces in that folder name are a bit
> worrying, but hey, the days of 8.3 filenames are long past.
>
> Now we want to link library1 in to project1/library1 as an external.
> Check out trunk as C:\Working, then go edit the properties of project1
> and add svn:externals:
>
> ../../libs/library1 library1
>
> If you value your repository, it's a good idea not to commit anything
> after this point.
>
> You can update the project1 folder and it'll correctly pull in
> library1 as an external. However, if you try to update C:\Working,
> you'll get this error:
>
> "URL '{server url}/svn/repository/trunk/folder with space/libs/
> library1' is
> malformed or the scheme or host or path is missing"
>
> If, as I did earlier this week, you don't notice this and commit
> anyway, your repository is pretty well hosed. The server will accept
> it, but nobody will be able to update any folder that's a parent of
> "folder with space". There's a partial workaround; if you remove the
> external property and then commit it, you can then update "folder with
> space" to get the new revision, and then updates on its parents will
> work again. However, good luck merging into any branches made before
> the externals revision.
>
> I know that, in the externals, you're supposed to use a %20 instead of
> spaces in folder names. I suspect that the problem here is that the
> function that expands the relative path doesn't do this substitution.
Thanks for the detailed report. I can verify this with the latest
Subversion trunk, but only for http repositories (svn and file work fine).
I've reported this on the svn mailing list.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
Received on 2008-09-25 19:02:09 CEST