After upgrading from the 32-bit version of TortoiseSVN v1.5.2 Build
13595 to v1.5.3 Build 13783 I'm having some problems with an existing
working copy. The working copy has some references to external
repositories using the following syntax for the svn:externals property:
/repositories/ExternalRepositoryName/trunk -r123 DirectoryName
If I try to do a Commit, Update, or Check for Modifications (and
possibly additional other operations I haven't tried) on the working
copy then I get an error like this:
Invalid svn:externals property on 'T:\Subversion\Working
Copies\BaseRepositoryName': target
'/repositories/ExternalRepositoryName/trunk' is an absolute path or
involves '..'
Needless to say I didn't have this problem with 1.5.2, and after
downgrading to 1.5.2 it's once again able to perform those operations
with no problems. Also, after some trial and error apparently the
following syntaxes /do/ work with 1.5.3:
-r123 /repositories/ExternalRepositoryName/trunk DirectoryName
/repositories/ExternalRepositoryName/trunk_at_123 DirectoryName
/repositories/ExternalRepositoryName/trunk DirectoryName
So, the issue seems to be primarily with how (or rather where) the
revision is specified. I tried some of the other ways of expressing
relative URLs and got the same results with all but one of the different
types of relative paths. The following do not work (I get the same
error when trying to set svn:externals to one of these values in the
Edit Properties dialog):
/repositories/ExternalRepositoryName/trunk -r123 DirectoryName
//repositories/ExternalRepositoryName/trunk -r123 DirectoryName
../repositories/ExternalRepositoryName/trunk -r123 DirectoryName
Using a repository root-relative path such as this:
^/repositories/ExternalRepositoryName/trunk -r123 DirectoryName
...doesn't give me any complaints from the Edit Properties dialog, however.
I'm not sure if this behavior is a bug or not because I'm just now
realizing that perhaps the externals syntax I've been using was never
"correct" to begin with (it did work just fine for my purposes,
though). I do know that none of the examples I could find for
referencing external repositories said anything about how to refer to a
specific revision of that repository, and I remember just trying the -r
switch in different places until it had the desired effect. I also
didn't notice anything in 1.5.3's changelog that seemed potentially
related to this, so I'm not sure if this change is intentional or not.
I'll either have to change the svn:externals syntax I'm using in all of
my repositories or stick with 1.5.2 to get around it, though.
Received on 2008-09-03 21:42:22 CEST