[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Relative externals and folders containing spaces

From: Mike Dixon <dixonam_at_gmail.com>
Date: Wed, 24 Sep 2008 18:07:42 -0700 (PDT)


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

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
(Those being the versions that I've tested personally.)

/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.



To unsubscribe, e-mail: users-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: users-help_at_tortoisesvn.tigris.org
Received on 2008-09-25 03:20:33 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.