【问题标题】:svn cannot access URL with a @ in itsvn 无法访问带有 @ 的 URL
【发布时间】:2020-04-10 19:14:35
【问题描述】:

我使用 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 &lt;some revision&gt; 选项以查看是否是修订问题,但没有帮助。 我尝试再次使用 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 pycharm


    【解决方案1】:

    如您所知,@ 在颠覆中的意思是“挂钩和操作修订”——这是“意外”行为的原因。如果您需要在文件名中使用,则应将其加倍:

    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{@@,}/
    

    参见SVNbookPeg and Operative Revisions 章节:

    此解决方法甚至适用于以 at 符号结尾的路径——您可以 使用filename@@ 谈论一个名为filename@的文件。

    它也适用于工作副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      • 2016-04-08
      相关资源
      最近更新 更多