【问题标题】:How do I browse an old revision of a Subversion repository through the web view?如何通过 Web 视图浏览 Subversion 存储库的旧版本?
【发布时间】:2010-10-13 16:07:43
【问题描述】:

我知道如何通过它的 web 前端浏览我项目的 Subversion 存储库,但我似乎只能浏览主干的最新版本。有没有办法通过 Web UI 浏览旧版本的主干?

我知道如何从命令行执行此操作,但我需要知道如何使用 URL 执行此操作,因为我将这些 URL 嵌入到文档中。我也知道我可以创建一个 svn 风格的树干标签,但我不想这样做。

【问题讨论】:

标签: svn


【解决方案1】:

从网络上,您可以转到存储库 SVN 页面并在其后添加 /:

https://<host>/subversion/source/<revision>

例如:

https://app.assembla.com/spaces/myproject/subversion/source/1200

【讨论】:

    【解决方案2】:

    将类似这样的内容添加到您的存储库 URL:

    !svn/bc/<revision_number>/
    

    例如

    http://www.example.com/svnrepository/!svn/bc/3/
    

    另类

    来自Bert Huijben's comment

    如果您的存储库使用 Subversion 1.6.0 或更高版本托管,您可以 使用 example.com/svnrepository/?p=3 获得相同的结果...此方法 /is/ 记录在案。 (?r= 文件修订版, ?p= 操作修订版 网址)。请参阅 subversion 1.6 发行说明

    【讨论】:

    • 我完全惊呆了这个作品......(我刚刚检查过,它确实如此)。我被告知很多次这是不可能的。请注意,提到的字符串必须紧跟在 URL 中的 repo root 之后,然后您可以将 repo 的子目录放在它之后。
    • 如果您的存储库使用 Subversion 1.6.0 或更高版本托管,您可以使用 example.com/svnrepository/?p=3 获得相同的结果...此方法 /is/ 已记录。 (?r= 文件的修订,?p= url 的操作修订)。请参阅 subversion 1.6 发行说明
    • 就像对 BertHuijbens 帖子的修正一样,要查看特定文件夹的过去修订版,您可以执行 example.com/svnrepository/path/to/specific/folder/?p=3。出于某种原因,我认为 ?p=3 会排在第一位,并认为我会在这里发布关于她的信息
    • 由于这尽可能地晦涩难懂,值得注意的是,访问文件是通过在该块之后添加其路径来实现的。例如。 example.com/svnrepository/!svn/bc/3/tags/1.0 我花了一段时间才意识到!
    • @rmeador 的评论确实需要纳入此答案,否则会产生误导:您不要将!svn/etc... 粘贴到您的 URL 的末尾。 (1) 通过svn info . (2) 找到您的存储库根目录,然后附加/!svn/bc/&lt;revision_number&gt;/ (3) 然后将路径附加到您的目录或文件,如果有的话。
    【解决方案3】:

    如果您使用 VisualSVN Server 3.2 或更新版本,那么您可以使用其基于 HTML5 的基于 Web 的历史浏览器来完成此任务。例如,here is a repository tree as it existed in revision 1001 of serf network library repository

    the description of the web interface

    【讨论】:

      【解决方案4】:

      将此附加到您的存储库的 URL:

      ?p=24
      

      例子:

      http://www.example.com/svnrepository/?p=65
      http://www.example.com/svnrepository/subdir/file.html?p=42
      

      文档:http://subversion.apache.org/docs/release-notes/1.6.html#historical-uris

      【讨论】:

      • 出色的工作。比公认的答案简单得多。
      【解决方案5】:

      这取决于您使用的 svn webclient。在 trac (可能还有其他一些)的情况下,只需将参数 rev= 添加到查询字符串中。

      http://trac.example.com/log/trunk/client/filename?rev=123

      【讨论】:

      • 试过了,没用,只是得到了文件的最新版本。
      【解决方案6】:

      内置网络界面不允许检索旧版本(或您已经看到的任何其他信息)。您可以安装第三方基于 Web 的存储库浏览软件来绕过此限制。我自己没有用过,所以我不会提供推荐,但我相信其他人会(快速的谷歌搜索也能帮助你找到一些)。

      【讨论】:

      • SebaGR 指出,如果您直接操作 URL,则可以访问旧版本。但是,没有用于执行此操作的 UI。我很惊讶这是可能的,因为我一再被告知这不是......
      • 在 Subversion 1.6.0 中, ?p= 和 ?r= 参数作为公共(和文档化)功能添加。
      • 1.5 允许/不允许通过内置 WebDAV 界面进行修订浏览。来自svnbook.red-bean.com/en/1.5/svn-book.pdf: >我可以查看旧版本吗? >使用普通的网络浏览器?一言以蔽之:没有。至少,不是将 mod_dav_svn 作为您唯一的工具。
      猜你喜欢
      • 1970-01-01
      • 2010-09-21
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 2014-03-07
      • 1970-01-01
      相关资源
      最近更新 更多