Subversion 1.9.2:无效的文件系统格式选项“寻址逻辑”

aru*_*unp 6 svn tortoisesvn redhat svnserve fsfs

我使用 tarball 在 UAT Linux redhat 6.6 中安装了 SVN 1.9.2,并将 SVNSERVE 作为守护程序运行,一切顺利。然后我创建了一个存储库并配置了客户端访问的存储库,并尝试使用 tortoiseSVN 访问存储库但无法访问存储库。看到错误,

“db/format 包含无效的文件系统格式选项寻址逻辑”

在 UAT 中安装之前,我在 TEST 服务器中尝试过,但我可以毫无问题地安装和访问存储库。我正在使用 Redhat 6.6 服务器。任何人都看到了这个问题。由于下周我们进行了生产安装,我被困住了。


编辑:实际上我移动到 SVN 安装的 bin 目录并启动了 svnserve 作为守护进程。svnserve 启动的是 Redhat OS 附带的那个。当使用完整路径调用 svnserve 时,它​​解决了这个问题。

zb2*_*226 4

尽管 OP 通过回到旧版本的 Subversion(可能是 1.6.x,因为他说这是 RHEL6.6 附带的默认版本)解决了他的问题,但错误症状提出了一个值得更多研究的有效问题。

Subversion 1.9 引入了新版本的FSFS 文件系统 (v7),这是存储库(不是工作副本)中使用的文件系统。如果有问题的存储库是由 1.9 服务器创建的,那么在通过协议访问时,似乎可能导致与旧客户端的兼容性问题file://。该错误消息invalid filesystem format option 'addressing logical'对应于新的 FSFS v7 功能“逻辑寻址”。

关于客户端-服务器,兼容性矩阵明确指出,只要服务器代码版本支持所访问存储库的 FSFS 文件系统版本,就没有问题。

注意:从 1.9 开始,您可以使用svnadmin info子命令来检查存储库的功能(在服务器上)。它甚至给出了存储库具有哪个级别的客户端兼容性的提示。不幸的是,我手头没有用于测试的 1.9 存储库,但这里有一些示例输出:

Path: /repos/apache
UUID: ac336b0e-000b-11e0-b354-23d019ddd9ed
Repository Format: 5
Compatible With Version: 1.8.0
Repository Capability: mergeinfo
Filesystem Type: fsfs
Filesystem Format: 6
FSFS Sharded: yes
FSFS Shard Size: 1000
FSFS Shards Packed: 1631/1631
FSFS Logical Addressing: no
Configuration File: /repos/apache/db/fsfs.conf
Run Code Online (Sandbox Code Playgroud)

  • 当使用 Subversion 1.8 旧版客户端通过 `file:///` 访问架构本地访问存储库时,可能会出现您提到的“兼容性”问题。这不是客户端-服务器不兼容。OP 收到错误是因为当客户端同时充当服务器和客户端时,他尝试通过“file:///”访问存储库。如果他通过 http(s) 或 svnserve 访问存储库,则不会发生错误。另一个可能的原因是:服务器不是Subversion 1.9,而是一些旧版本。 (2认同)