4

我有一个从两台不同的机器访问的外部 Subversion 存储库,一台机器使用 svn v1.7.9,另一台使用 v1.8.3。

从 v1.7.9 开始,我可以使用svn ls带有相对 (^) 符号的命令,它可以按预期工作(从 repo 的根目录开始)...

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

从 v1.8.3 我尝试相同的命令并得到以下内容......

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

如果我svn info从 v1.8.3 运行,我可以看到Relative URL: ^/trunk预期的输出(在 v1.8 中添加),但似乎我不能使用相对 (^) 符号超过该级别(到根),例如.. .

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

这意味着使用相对符号时,几乎每个命令(切换/复制/合并等)都会失败。有什么想法可以解决这个问题吗?

4

1 回答 1

9

好吧,我现在手里还没有 1.7 SVN(也没有zsh经验),但是对于

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

和工作副本,从存储库的根目录检出

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

对于 URL 中的纯^字符,我得到了相当有趣的结果

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

(注意 svn info 输出中的“工作副本根路径”)

但有了小技巧,一切都会好起来的

svn ls "^/tags"
1.0.0/
1.0.1/

我想, ^ 在所有的 shell 中都有特殊的含义,你不能在没有保护的情况下使用它

于 2013-09-02T21:02:38.547 回答