svn 无法访问其中带有 @ 的 URL
svn cannot access URL with a @ in it
我使用 PyCharm 重命名了我的项目的一个分支:我要求将我的分支 v4.0.0 重命名为 v5.0.0 我不知道为什么,但是 PyCham 在中添加了一个 @
目的地名称。我明白了:
svn ls svn+ssh://svn@devhost/myproject/branches/
v2.0.0/
v3.0.0/
v5.0.0@/ <----
现在,如果我尝试列出该分支中的文件,我会得到:
svn ls svn+ssh://svn@devhost/myproject/branches/v5.0.0@/
svn: warning: W160013: URL 'svn+ssh://svn@devhost/myproject/branches/v5.0.0' non-existent in revision 15667
svn: E200009: Could not list all targets because some targets don't exist
我尝试不使用 @
,或者使用 %40
代替:我收到了相同的消息。
我尝试了 -r <some revision>
选项,看它是否是修订问题,但没有帮助。
我尝试再次使用 PyCharm 将 v5.0.0@
重命名为 v5.0.0
:它告诉我不能重命名为自己。
我尝试再次使用 PyCharm 将 v5.0.0@
重命名为 v4.0.0
:它再次将 v4.0.0@
重命名为 @
。
有趣的是pycharm还能在里面浏览svn+ssh://svn@devhost/myproject/branches/v5.0.0@/
在我的终端上,svn ls
不起作用,svn co
也一样!我无法自己创建工作副本!
问题:如何将分支 v5.0.0@
重命名为 v5.0.0
?
如您所知,@
在颠覆中意味着 "peg and operative revisions" - 这是 "unexpected" 行为的原因。如果你需要在文件名中使用,你应该加倍:
svn ls svn+ssh://svn@devhost/myproject/branches/v5.0.0@@/
# or remove the @ char
svn mv svn+ssh://svn@devhost/myproject/branches/v5.0.0{@@,}/
参见第SVNbook's Peg and Operative Revisions章:
This workaround even applies to paths that end in an at sign—you would
use filename@@
to talk about a file named filename@.
它也适用于工作副本。
我使用 PyCharm 重命名了我的项目的一个分支:我要求将我的分支 v4.0.0 重命名为 v5.0.0 我不知道为什么,但是 PyCham 在中添加了一个 @
目的地名称。我明白了:
svn ls svn+ssh://svn@devhost/myproject/branches/
v2.0.0/
v3.0.0/
v5.0.0@/ <----
现在,如果我尝试列出该分支中的文件,我会得到:
svn ls svn+ssh://svn@devhost/myproject/branches/v5.0.0@/
svn: warning: W160013: URL 'svn+ssh://svn@devhost/myproject/branches/v5.0.0' non-existent in revision 15667
svn: E200009: Could not list all targets because some targets don't exist
我尝试不使用 @
,或者使用 %40
代替:我收到了相同的消息。
我尝试了 -r <some revision>
选项,看它是否是修订问题,但没有帮助。
我尝试再次使用 PyCharm 将 v5.0.0@
重命名为 v5.0.0
:它告诉我不能重命名为自己。
我尝试再次使用 PyCharm 将 v5.0.0@
重命名为 v4.0.0
:它再次将 v4.0.0@
重命名为 @
。
有趣的是pycharm还能在里面浏览svn+ssh://svn@devhost/myproject/branches/v5.0.0@/
在我的终端上,svn ls
不起作用,svn co
也一样!我无法自己创建工作副本!
问题:如何将分支 v5.0.0@
重命名为 v5.0.0
?
如您所知,@
在颠覆中意味着 "peg and operative revisions" - 这是 "unexpected" 行为的原因。如果你需要在文件名中使用,你应该加倍:
svn ls svn+ssh://svn@devhost/myproject/branches/v5.0.0@@/
# or remove the @ char
svn mv svn+ssh://svn@devhost/myproject/branches/v5.0.0{@@,}/
参见第SVNbook's Peg and Operative Revisions章:
This workaround even applies to paths that end in an at sign—you would use
filename@@
to talk about a file named filename@.
它也适用于工作副本。