SVN错误:'1'和'3'之间的预期fs格式; 找到格式'4'

Jar*_*vis 20 svn client version

这是我做的,我已经安装了svnserve作为服务,我用net start svn service命令启动它.我键入svn ls svn:// localhost来测试服务,但它返回了错误,如本文标题所述.

我在我的计算机上输入了svn --versionsvnserve --version来查找版本号,客户端和服务器版本是相同的,版本1.5.6.我猜测由于服务器和客户端的不同版本而出现错误.

当我在cmd中使用svnserve --daemon --root命令启动服务器时,仍会出现错误.

为什么会出现错误?谢谢

Bla*_*jac 13

您使用哪个Subverson工具来创建存储库?TortoiseSVN的?你TortoiseSVN的可能是新的,一个1.6.x的版本,那么你的1.5命令行客户端和svnserve的,这样的svnserve 1.5.x的不能充当一个1.6.x的库.

在使用svnadmin 1.6.1创建的fsfs存储库中,db/format文件包含

$ cat repos/db/format 
4
layout sharded 1000
Run Code Online (Sandbox Code Playgroud)


Ger*_*sig 7

我有同样的问题,但我用不同的方法解决了它

问题主要是db/format文件,它期望"2"最好的检查方法是打开文件

$ vi db/format 
Run Code Online (Sandbox Code Playgroud)

如果你得到这个

4
layout sharded 1000
Run Code Online (Sandbox Code Playgroud)

然后你应该改变他们说

2
Run Code Online (Sandbox Code Playgroud)

最好也检查你当前的文件

$ vi db/current
Run Code Online (Sandbox Code Playgroud)

它你只得到这个(例如0意味着反叛数字0)

0
Run Code Online (Sandbox Code Playgroud)

然后你应该改变它们只是说(例如0意味着修订号附加"nx"和"2")

0 nx 2
Run Code Online (Sandbox Code Playgroud)

最后还要检查revs和revprops的目录结构是否已分片,或者看起来像这样

db/revs/0/0
Run Code Online (Sandbox Code Playgroud)

将其更改为非文件夹结构

db/revs/0
Run Code Online (Sandbox Code Playgroud)

注意:修订文件(例如0)就在revs目录中,不应该有其他文件夹

与revprops改变相同

db/revprops/0/0
Run Code Online (Sandbox Code Playgroud)

db/revprops/0
Run Code Online (Sandbox Code Playgroud)