Login | Register
My pages Projects Community openCollabNet

Discussions > users > Relative externals and folders containing spaces

Project highlights: :. Download .: :. Support .: :. FAQ .: :. Translations .: :. Donate .: :. Report Bug .:

tortoisesvn
Discussion topic

Back to topic list

Relative externals and folders containing spaces

Author Mike Dixon <dixonam at gmail dot com>
Full name Mike Dixon <dixonam at gmail dot com>
Date 2008-09-24 18:07:42 PDT
Message 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.

Regards,

Mike

« Previous message in topic | 1 of 3 | Next message in topic »

Messages

Show all messages in topic

Relative externals and folders containing spaces Mike Dixon <dixonam at gmail dot com> Mike Dixon <dixonam at gmail dot com> 2008-09-24 18:07:42 PDT
     Re: Relative externals and folders containing spaces steveking Stefan K√ľng 2008-09-25 10:01:22 PDT
         Re: Relative externals and folders containing spaces Mike Dixon <dixonam at gmail dot com> Mike Dixon <dixonam at gmail dot com> 2008-09-25 11:11:43 PDT
Messages per page: