如何通过 Web 视图浏览 Subversion 存储库的旧版本?
Posted
技术标签:
【中文标题】如何通过 Web 视图浏览 Subversion 存储库的旧版本?【英文标题】:How do I browse an old revision of a Subversion repository through the web view? 【发布时间】:2010-10-13 16:07:43 【问题描述】:我知道如何通过它的 web 前端浏览我项目的 Subversion 存储库,但我似乎只能浏览主干的最新版本。有没有办法通过 Web UI 浏览旧版本的主干?
我知道如何从命令行执行此操作,但我需要知道如何使用 URL 执行此操作,因为我将这些 URL 嵌入到文档中。我也知道我可以创建一个 svn 风格的树干标签,但我不想这样做。
【问题讨论】:
subversion 1.6 现在有一个官方语法来做到这一点。在这里查看我的答案:***.com/questions/686892/… 【参考方案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/<revision_number>/
(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 作为您唯一的工具。以上是关于如何通过 Web 视图浏览 Subversion 存储库的旧版本?的主要内容,如果未能解决你的问题,请参考以下文章
在 Mac OS 山狮上设置 Subversion 服务器(可以通过浏览器访问,但无法从 subversion 签出)[关闭]