我使用tarball在UAT Linux redhat 6.6中安装了SVN 1.9.2并运行SVNSERVE作为守护进程,一切顺利。然后我创建了一个存储库并配置了repo以进行客户端访问,并尝试使用tortoiseSVN访问存储库但无法访问存储库。看到错误,
“db / format包含无效的文件系统格式选项寻址逻辑”
在UAT中安装之前,我在TEST服务器上试过,但我可以安装并访问存储库而没有任何问题。我使用的是Redhat 6.6 Server。有人见过这个问题。我被困在下周,我们有生产安装。
编辑:实际上我移动到SVN安装的bin目录并启动了svnserve as daemon。 svnserve启动的是Redhat OS附带的版本。它在使用完整路径调用svnserve时解决了这个问题。
答案 0 :(得分:4)
虽然OP解决了他的问题 - 回到旧版本的Subversion(可能是1.6.x,因为他说这是RHEL6.6附带的默认版本) - 错误症状提出了一个值得的有效问题更多的研究。
Subversion 1.9引入了他们的FSFS file system (v7)的新版本,它是存储库中使用的文件系统(不是工作副本)。如果有问题的存储库是由1.9服务器创建的,那么当通过file://
协议访问时,似乎可能导致compatibility problems对旧客户端。错误消息invalid filesystem format option 'addressing logical'
对应于新的FSFS v7功能" Logical Adressing"。
关于客户端 - 服务器,compatibility matrix明确指出没有问题,只要服务器代码版本支持访问的存储库的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
答案 1 :(得分:0)
在将一些repos从RHEL 6.4 / subversion 1.6.11迁移到RHEL 7.4 / subversion 1.9.7时遇到了这个问题。
我发现这个问题的答案对我有用: Subversion: SVN E160043. Expected FS format between '1' and '4
如果要从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与最旧的版本兼容。