【问题标题】:Repository Browser Only - "Repository moved permanently to… please relocate”仅限存储库浏览器 - “存储库已永久移至……请重新定位”
【发布时间】:2011-04-16 15:43:54
【问题描述】:

我在 http://localhost/svn/ 有存储库根目录和几个项目

http://localhost/svn/project1
http://localhost/svn/project2
http://localhost/svn/project3
...

TortoiseSVN 一直与这些项目一起工作,只有每次我尝试使用“存储库浏览器”访问根 http://localhost/svn/ 时,它才会返回“存储库永久移动到 http://localhost/;请重新定位”,虽然我确定根很好,因为我可以在浏览器中打开它并查看所有项目的列表,它只是在“存储库浏览器”中不起作用。有什么想法吗?

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    我假设您在 svn/project1svn/project2svn/project3 中的每一个中都有一个 SVN 存储库——并且您在 svn 中没有与 SVN 相关的任何内容。

    您可以在浏览器中看到svn 的内容,因为该目录是由您的网络服务器提供的——但它不是作为与 SVN 相关的东西提供的:它只是一个发送到您的浏览器的 HTML 页面。

    因此,TortoiseSVN 无法使用它:svn 不是 SVN 存储库。

    【讨论】:

    • 不记得几年前它是如何创建的,但是您的分析确实有道理,我认为应该是这样。那我做错了吗?我应该将根设为顶级项目吗?
    • 我认为您没有:每个项目一个 SVN 存储库非常有意义;只是不要尝试使用 TortoiseSVN 来探索不是 SVN 存储库的目录。
    • 谢谢,你说清楚了,我一直以为是我做错了什么,所以tortoisesvn扔了消息
    【解决方案2】:

    这更多地与您的 Apache 服务器配置有关。您必须在那里配置存储库的根目录。换句话说,你的本地主机的配置文件中必须有这样的东西:

    <Location /svn>
      DAV svn
      SVNPath /var/svn/repository
    </Location>
    

    这个单一的存储库是您的三个项目必须驻留的地方。如果您的项目驻留在单个存储库中,那么您的 Apache 服务器配置中也需要三个不同的位置。

    那么,这里的问题是,你有三个不同的 subversion 存储库,还是同一个 repo 下只有三个不同的项目文件夹?

    您可以在本书 Version Control With Subversion 中了解更多关于您的 Apache 服务器配置的信息,特别是在 The Apache Server 部分的 Chapter 6

    如果您似乎有多个存储库,那么您需要配置一个SVNParentPath

    <Location /svn>
      DAV svn
    
      SVNParentPath /var/svn
    </Location>
    

    这应该是您的所有存储库都驻留在服务器上的位置。

    【讨论】:

    • 应该是前者,当我新建一个项目时,我所做的是在visualsvn服务器GUI中右键单击并选择“创建新存储库”
    • 您可能会考虑修改服务器中存储库的路径是否使用 SVNParentPath 配置,正如我在更新后的帖子中所建议的那样。
    • 谢谢,我可以通过 http 访问根目录。 Pascal 是对的,存储库浏览器肯定运行在 svn 协议上,所以它不可能识别 os 文件夹或 http root
    猜你喜欢
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多