【问题标题】:Repo browser in svn "Repository moved permanently to... please relocate"svn中的回购浏览器“存储库永久移动到...请重新定位”
【发布时间】:2010-01-14 23:22:52
【问题描述】:

在 repo 浏览器中,当我进入 svn root (http://servername/svn) 目录时,我收到此消息 "存储库永久移动到 'http//....' 请重新定位

这个存储库中有几个项目,我可以访问/签出/更新每个项目,但我什至无法访问根目录。

我该如何解决这个问题?

【问题讨论】:

  • 我也有同样的问题。本地结帐可以正确更新,但诸如 svn ls http://server.com/svn/project 之类的命令失败,错误 301 重新定位,无论我是否有尾随 /。

标签: svn repository


【解决方案1】:

我假设您不是服务器管理员,并且您对 svn 比较陌生...

您需要告诉您的工作副本远程存储库已移动(有关 how to do this 的信息,请参阅 svn book)。您还需要使用新的 root 来进行远程 repo 浏览。

【讨论】:

  • 感谢您的回复。是的,我对 svn 相当陌生...好吧,我的工作副本已经指向新位置,因为我已经从新位置检查了它。我要做的是将一个文件夹以及所有修订从一个项目移动到另一个项目......所以就像从servername/svn/proj1/tagsservername/svn/proj2/tags。当我使用 svn move 命令时,我得到了同样令人费解的消息。
  • 好吧,听上去你实际上有两个不同的 subversion repos,server/svn/proj1 和 server/svn/proj2。如果是这种情况,那么据我所知,您将无法将它们移过。您是否尝试过检查 server/svn - 除非有大量内容,否则这可能是移动文件夹的更快方法。它还将确定您是否有一个单一的回购。
  • 如果您尝试在存储库之间移动文件夹,那么您可能会发现:nileshbansal.blogspot.com/2006/03/… 很有用。
  • 谢谢彼得。看起来我没有一个仓库,这可能是我无法执行简单命令(如 move)的原因。无论如何,我决定移动文件,对于修订,我将保持旧的 repos 不变。再次感谢您的回复。
【解决方案2】:

我收到了同样的信息,因为我在一个文件夹名称中有一个双下划线字符; e. G。 SVNPath C:/xampp/my/path/to/the/repo/with/double/__underline/repo-folder

我删除了它们并且它可以工作(记得重新启动网络服务器)

【讨论】:

    【解决方案3】:

    以防万一这也有助于任何人。我发现如果您在虚拟主机中定义了 DocumentRoot,则会出现此消息。

    【讨论】:

      【解决方案4】:

      确保您在 apache 配置文件中正确指定了位置块:

      <Location /svn>
      

      不是

      <Location /svn/>
      

      【讨论】:

      • 实际上,我正在与&lt;Location /svn/ &gt; 一起使用SVNParentPath /path/to/repositoriesSVNListParentPath on 浏览项目列表。但我仍然从 Tortoise SVN 客户端收到 301 重定位错误。
      【解决方案5】:

      通常根在http://servername/svn/repositoryname。我认为当您在根目录中拥有存储库时存在一些已知问题(即当您的 URL 是您所描述的,并且存储库的名称是“svn”时)。

      编辑: 这意味着就 Subversion 而言,没有高于 /svn/proj1/ 的级别。也无法将项目从/svn/proj1/ 移动(保留历史记录)到/svn/proj2/。我认为您在创建存储库时过于活跃,在尝试重用另一个存储库中的项目时会导致问题。请参阅 a discussion 了解多个存储库与单个存储库,以及 faq entry 了解如何将多个存储库合并为一个。

      如果您想在 proj2 存储库中重用 proj1 存储库的一部分,您可能需要查看 externals

      【讨论】:

      • 感谢您的回复。好吧,我在根文件夹中有多个项目,我可以正常访问它们。我想要做的是将一个文件夹从一个项目移动到另一个项目,我也不想放弃修订。所以就像从servername/svn/proj1/tagsservername/svn/proj2/tags。当我使用 svn move 命令时,我收到相同的消息(repos 永久移动...请重新定位),这真的很令人费解。
      • 我认为 /svn/proj1 和 /svn/proj2 是两个不同的存储库。在两个 URL 上使用 svn info 以查看存储库 GUID。如果它们是不同的存储库,则不能在它们之间移动/复制文件。在单个存储库中跟踪文件的历史记录
      • 谢谢桑德。存储库 UUID 不同。看起来我没有不同的回购。无论如何,我决定移动文件,对于修订,我将保持旧的 repos 不变。再次感谢您的回复
      【解决方案6】:

      检查您的 Apache 配置并删除/注释 ErrorDocument 重定向。 就是这样。

      【讨论】:

        【解决方案7】:

        这个问题现在已经很老了,但为了完整起见;我正在通过 IP 地址访问 SVN 服务器,但是在将 .htaccess 文件中的重定向从非 www 域添加到 www 域后,我收到了此消息。所以要小心这个。

        【讨论】:

          【解决方案8】:

          我也遇到过同样的问题。考虑到您不是服务器的管理员,而我不是,我已经成功使用了svn switch --relocate 命令:

          svn switch --relocate https://my.server.url/svn/projectname https://my.server.url/new.dictory/authscm/username/svn/projectname

          当然,这两个 URL 及其相关目录恰好在我的情况下,但总的来说,这个解决方案对我来说很好,即 using switch --relocate 从旧 URL 到新 URL。

          【讨论】:

            【解决方案9】:

            我在 SVN url 中使用了空格并使用了Cornerstone。使用终端 svn checkout &lt;url&gt; 确实有效。

            【讨论】:

              【解决方案10】:

              在我的情况下,如果 Jenkins 的代理设置错误。

              【讨论】:

                【解决方案11】:

                检查 svn repo 和 htdocs/html 文件夹中是否有重复的名称。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-12-01
                  • 2017-03-10
                  • 1970-01-01
                  • 2020-04-21
                  • 2017-04-06
                  • 1970-01-01
                  相关资源
                  最近更新 更多