Search code examples
svntagslstrunk

Subversion 1.7 vs 1.8 relative (^) symbol oddities


I have an external Subversion repo accessed from two separate machines, one machine is using svn v1.7.9 and the other is using v1.8.3.

From v1.7.9 I can use the svn ls command with the relative (^) symbol and it works as expected (from the root of the repo)...

# svn ls ^/tags
v1-0-0/
v1-1-0/
v1-2-0/
etc

From v1.8.3 I try the same command and get the following...

# svn ls ^/tags
zsh: no matches found: ^/tags

If I run svn info from v1.8.3 I can see the Relative URL: ^/trunk output as expected (added in v1.8), but it appears I can't go above that level (to the root) using the relative (^) symbol, for example...

# svn ls ^/
[returns a list of all files/directories in trunk]

This means that almost every command (switch/copy/merge etc) fails when using the relative symbol. Any ideas how I can fix this?


Solution

  • Well, I have not 1.7 SVN in the hands right now (and zsh experience at all), but for

    >svn --version
    svn, version 1.8.3 (r1516576)
       compiled Aug 27 2013, 19:43:20 on x86-microsoft-windows
    

    and Working Copy, checkouted from the root of repository

    Working Copy Root Path: Z:\TS
    ...
    Relative URL: ^/
    

    for pure ^ character in URL I got rather funny results

    svn ls ^/tags
    svn: E155007: 'Z:\tags' is not a working copy
    

    (Note "Working Copy Root Path" from svn info output)

    but with small trick everything becomes OK

    svn ls "^/tags"
    1.0.0/
    1.0.1/
    

    I suppose, ^ has special meaning in all shells, you can't use it not protected