I hit a couple of little hurdles with Subversion this week which I thought I’d share simply because I couldn’t find much public information about it and it was only through trial and error it got resolved. The context was I was adding an externals to a project from another repository and there were two little barriers that threw a spanner into the works.
For the sake of simplicity, here’s a recreation of the scenario:
The first problem is that whilst there are spaces in the repository path, we’re not going anywhere because the space character is used to delimit the path from the target folder. What we’ll get is an error message along the lines of “Error parsing svn:externals property on [working copy] [externals definition]”. Here’s how it looks:
I started out by encapsulating the externals path in quotes which appeared to work just fine:
That is until I actually tried to do an update on the working directory and I got “URL [externals path] is malformed or the scheme or host or path is missing”, just like this:
Unfortunately this is a totally unintuitive error message which required a bit of guesswork. The problem turns out to be the spaces again and there’s an easy fix; just replace each one of them with the “%20” URL escape character for the space symbol:
Once you do this you can drop the quote encapsulation as there is no longer a word breaker in the repository path. This is a really simple solution to a problem which can throw you for a little bit. Hopefully this will save someone else from scratching their head for too long.