6

我使用 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 时,它​​解决了这个问题。

4

2 回答 2

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
于 2015-10-21T16:52:08.120 回答
1

我在将一些存储库从 RHEL 6.4 / subversion 1.6.11 迁移到 RHEL 7.4 / subversion 1.9.7 时遇到了这个问题。

我发现这个问题的答案对我有用: Subversion: SVN E160043。'1' 和 '4 之间的预期 FS 格式

如果您想从 v1.8 创建向后兼容的存储库,您可以使用该--compatible-version标志。例子:

svnadmin create --compatible-version 1.6 PATHNAME

http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure有一个列表显示哪些 FS 格式与不同版本的 svn 兼容。但是你应该只检查你要使用的机器上的 svn 版本,并使你的 repo 与最旧的版本兼容。

于 2018-02-21T23:54:53.523 回答