【发布时间】:2010-09-21 21:35:54
【问题描述】:
如何确定我的存储库的当前版本以查看是否需要升级它(svnadmin upgrade)?
实际上,我正在与第 3 方一起托管 SVN,我想知道是否需要让他们升级我的存储库。
我问的是因为 1.5 服务器会保持 repo 版本为 1.4,除非我错过了什么?
【问题讨论】:
标签: svn berkeley-db fsfs
如何确定我的存储库的当前版本以查看是否需要升级它(svnadmin upgrade)?
实际上,我正在与第 3 方一起托管 SVN,我想知道是否需要让他们升级我的存储库。
我问的是因为 1.5 服务器会保持 repo 版本为 1.4,除非我错过了什么?
【问题讨论】:
标签: svn berkeley-db fsfs
看看<REPO>/db/format。升级到1.5格式后,我的format文件显示:
3
layout sharded 1000
以前是:
2
【讨论】:
将http 或https 链接指向您的存储库,然后将其剪切并粘贴到浏览器中。 Subversion repository server 版本默认显示在页脚中。
由 Subversion 版本 1.4.5 (r25188) 提供支持。
人们会假设1.4 服务器不会针对1.5 存储库运行。
详情请见Subversion 1.5 Release Notes
感谢@Omus 的更正。
【讨论】:
您可以查看“db”目录下的文件“format”的内容。如果显示为 3,则它已升级到 1.5(即更新后的字段系统的版本)。如果是 2,那么它是 1.4 或更高版本。
【讨论】:
Subversion 存储库版本/架构 (1) 和 Subversion 存储库 FSFS 版本 (2) 之间存在差异。
FSFS 与 Berkeley DB 或开发中的 FSX 相比,是一种后端数据存储方法。 FSFS 是“直接使用本机 OS 文件系统的版本化文件系统实现”。
(1):Subversion 存储库版本/模式位于 [REPO]/format 文件中。 Subversion repos_upgrade_HOWTO 文档中的当前版本是:
SUBVERSION VERSION NUMBER SCHEMA VERSION
------------------------- --------------
Up to and including 0.27 1
0.28 - 0.33.1 2
0.34 - 1.3 3
(no released version used this) 4
1.4 - 5
(2):但是,存储库 FSFS 格式位于 [REPO]/db/format 文件中。当前版本位于libsvn_fs_fs FSFS Structure 文档的文件系统格式部分。他们目前是:
Format 1, understood by Subversion 1.1+
Format 2, understood by Subversion 1.4+
Format 3, understood by Subversion 1.5+
Format 4, understood by Subversion 1.6+
Format 5, understood by Subversion 1.7-dev, never released
Format 6, understood by Subversion 1.8
Format 7, understood by Subversion 1.9
Format 8, understood by Subversion 1.10+
此外,从 Subversion 1.9 开始,您现在可以使用 svnadmin info 命令获取 Subversion Repository 版本/Schema,以及 Subversion Repository FSFS 版本(参见:Subversion 1.9 Release Notes - FSFS Improvements 以及如Subversion 1.9 Release Notes - svnadmin Changes and Improvements)
【讨论】:
对于VisualSVN Server,即使它使用自定义页面,您仍然可以查看页面源:)
【讨论】:
我还建议欺骗响应标头,因为某些服务器安装(想到VisualSVN Server)使用自定义页面,不幸的是不显示 Subversion 服务器版本。
您可以使用Fiddler2 来欺骗服务器的请求/响应。如果您使用的是 HTTPS 连接,请务必在以下位置选中“解密 HTTPS 流量”选项: 工具->提琴手选项->HTTPS
【讨论】:
如果您使用 VisualSVN Server,您可以通过 VisualSVN Server Manager 控制台或通过 PowerShell 找到存储库的格式。阅读文章KB135: Understanding the Subversion repository types and formats 了解更多信息。
按照以下步骤找出存储库的格式:
按照以下步骤通过 PowerShell 找出存储库的格式:
Get-SvnRepository MyRepo | Format-List
【讨论】:
我认为你想要的是“svnlook youngest”
【讨论】: