[英]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
?
如您所知, @
表示颠覆中的“挂钩和操作修订” - 这是“意外”行为的原因。 如果您需要在文件名中使用,则应将其加倍:
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的Peg and Operative Revisions章节:
这种解决方法甚至适用于以 at 符号结尾的路径——您可以使用
filename@@
来讨论名为filename@的文件。
它也适用于工作副本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.