如何找出Subversion储存库版本?


76

如何确定存储库的当前版本以查看是否需要升级(svnadmin升级)?

实际上,我将与3rd Party一起托管SVN,我想了解是否需要请他们升级我的存储库。

我问,因为1.5服务器将回购版本保持在1.4,除非我错过了什么?

Answers:


46

看一看<REPO>/db/format。升级到1.5格式后,我的format文件显示:

3
layout sharded 1000

以前是:

2

11
对于Subversion 1.6,它是“ 4”。这可能是确定存储库版本的最佳方法。
James Skemp 09年

2
这些信息在哪里?我在Windows上并使用tortoisesvn。
库格尔2010年

12
-1。发问者已声明回购在第三方SVN主机上。它们不授予您访问物理存储库的权限。发问者无法直接访问此文件。顺便说一句,如果您有权访问版本,这是确定版本的最佳方法。
肯·温

我有我的repo url,并且看到了branch,tags,truck文件夹,但是没有看到任何db或format文件夹?在哪里可以找到该Db或db / format文件夹?我无权访问更高级别的回购目录结构吗?
2013年

2
@supernova,您需要进入它自己的文件系统,svn将在该文件系统中存储所有文件。无法通过svn客户端查看svn内容。
JackDev

27

httphttps链接到您的存储库,然后将其剪切并粘贴到浏览器中。默认情况下,Subversion存储库 服务器版本显示在页脚中。

由Subversion版本1.4.5(r25188)提供支持。

有人会假设1.4服务器不会针对1.5存储库运行。

有关详细信息,请参见Subversion 1.5发行说明。

感谢@Omus的更正。


5
我以为这是SVN服务器软件版本,而不是存储库版本?
Sumrak

1
但是它可以反过来运行,不是吗?
Sumrak

那就是“一个人会假设”出现的地方-可能,但是没有太大意义,对吗?
Ken Gentle

11
“ Subversion 1.5服务器可用于1.4和更早版本的存储库,除非通过svnadmin upgrade命令特别要求,否则它将不会将这些存储库升级到1.5。” - subversion.tigris.org/svn_1.5_releasenotes.html#repos-upgrades所以,你不应该承担:)
詹姆斯Skemp

这不适用于VisualSVN服务器-似乎没有提供版本号。
理查德·贝尔

6

您可以在“ db”目录下检查文件“ format”的内容。如果显示3,则说明它已升级到1.5(这是更新的文件系统的版本)。如果为2,则等于或大于1.4。


5

Subversion存储库版本/架构(1)与Subversion存储库FSFS版本(2)之间存在差异。

与Berkeley DB或开发中的FSX相比,FSFS是一种后端数据存储方法。FSFS是“直接使用本机OS文件系统的版本化文件系统实现”。

(1):在[REPO] /格式文件中找到Subversion存储库版本/架构。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):但是,在[REPO] / db / format文件中找到了存储库FSFS格式。当前版本在libsvn_fs_fs FSFS结构文档的“文件系统格式”部分中。他们目前是:

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存储库版本/架构和Subversion存储库FSFS版本(请参阅: Subversion 1.9发行说明-FSFS改进以及Subversion 1.9发行说明- svnadmin的更改和改进


4

对于VisualSVN Server,即使它使用自定义页面,您仍然可以查看页面源:)


我能够确定此答案需要使用的存储库版本。好想法!
布鲁诺·芬格

1

我还建议欺骗响应标头,因为某些服务器安装(VisualSVN服务器想到是)使用的自定义页面不幸的是没有显示Subversion服务器版本。

您可以使用Fiddler2欺骗对服务器的请求/响应。如果您使用的是HTTPS连接,请确保在以下位置选中“解密HTTPS流量”选项:工具->提琴手选项-> HTTPS


0

如果使用VisualSVN Server,则可以通过VisualSVN Server Manager控制台或PowerShell查找存储库的格式。阅读文章KB135:了解Subversion存储库类型和格式以获取更多信息。

VisualSVN服务器管理器

请按照以下步骤查找存储库的格式:

  1. 启动VisualSVN服务器管理器控制台。
  2. 右键单击存储库,然后单击属性
  3. 单击详细信息选项卡。

电源外壳

请按照以下步骤通过PowerShell查找存储库的格式:

  1. 启动PowerShell控制台
  2. 执行以下命令: Get-SvnRepository MyRepo | Format-List


-2

我认为您想要的是“ svnlook最年轻”


它还会寻找文件“格式”,这在我的仓库中找不到。
史蒂夫·K

3
svnlook youngest仅在回购中显示最新的修订号。不是回购数据库的版本。
8DH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.