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

时间:2009-05-08 05:41:30

标签: client version svn

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

我在计算机上输入 svn --version svnserve --version 以查找版本号,客户端和服务器版本相同,版本1.5 0.6。我猜测由于服务器和客户端的不同版本而出现错误。

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

为什么会出现错误?感谢

10 个答案:

答案 0 :(得分: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

答案 1 :(得分:7)

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

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

$ vi db/format 

如果你得到这个

4
layout sharded 1000

然后你应该改变它们来说

2

最好也检查你当前的文件

$ vi db/current

你只得到这个(例如0表示第0号修改)

0

然后你应该把它们改成只说(例如0表示修订号附加“nx”和“2”)

0 nx 2

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

db/revs/0/0

将其更改为非文件夹结构

db/revs/0

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

与revprops相同 变化

db/revprops/0/0

db/revprops/0

答案 2 :(得分:2)

我删除了我的旧存储库并使用命令行创建了一个新存储库 - > svnadmin创建C:\ SvnRepository

*通过右键单击文件夹创建旧存储库,然后单击“在此处创建存储库”

答案 3 :(得分:1)

我安装了(Collabnet安装)SVN 1.5.5并且它与TortoiseSVN 1.6.1运行良好。将SVN升级到1.6.2后,当我尝试通过Trac访问它时,我得到相同的错误('1'和'3'之间的预期fs格式;找到格式'4')。这为布莱尔的答案带来了可信度。我会让你知道我是如何重新开始的。

更新:Blair的回答也适用于我:消息说旧版SVN正在尝试访问存储库,因此找到并删除它。我的具体情况是错误只发生在我使用Trac的时候,所以我在Windows(http://trac.edgewall.org/wiki/TracOnWindows)上用我能找到的最新安装程序重新安装了Trac(svn-python-1.6.1.win32-py2。 5.exe)并从Python site-packages文件夹中删除旧蛋。重新启动并重新同步后,我又重新启动了。

答案 4 :(得分:1)

最新版本的Zend Studio(8.x)有一个SVN工具,它在查找格式4时会出现同样的错误,但期望格式为1-3。我使用CollabNet SVN创建了我的存储库(大约一年前)并且无法从Zend Studio中打开存储库。

我认为最好的解决方案(至少对于我希望与Zend Studio合作而不与之抗争的情况)是使用旧版本的SVN重新创建存储库。适用于Windows的SVN 1.3的URL是:

http://subversion.tigris.org/files/documents/15/32856/svn-1.3.2-setup.exe

安装完成后,请确保在新安装的1.3版目录中执行svnadmin.exe和svn.exe,以防已安装CollabNet SVN(其默认安装目录为c:/ csvn)。 / p>

答案 5 :(得分:0)

确保使用正确的svnadmin。例如,如果安装了VisualSVN,则需要使用位于安装目录的bin文件夹中的svnadmin。我安装了SVN的命令行版本......当我使用这个版本的svnadmin工具时,我得到了同样的错误。

答案 6 :(得分:0)

谢谢,乔。我安装了CollabNet SVN服务器和VisualSVN,直到我确定使用VisualSVN附带的svnadmin版本(我曾用它来创建存储库)时才会出错。

答案 7 :(得分:0)

我能够通过更新服务器上的Subversion来解决这个问题。我还对db文件进行了调整。然后我将所有备份推送到服务器上作为覆盖。我实际上(在Windows上)在本地进行了结账,然后在创建该回购时生成的文件,我编辑了数据库,然后抓取所有文件并将它们推送到服务器上的SVN。

这似乎已经成功了。

答案 8 :(得分:0)

我也遇到了同样的问题。 只需打开您制作的svn远程文件夹即可。 在您的db文件夹中,您有格式文件。 只需更换号码。 1。 如果不起作用,请尝试2和3。

答案 9 :(得分:0)

如果您使用的是VisualSVN服务器,请确保您的命令与下面的命令类似

示例命令: C:\ Program Files \ VisualSVN Server \ bin> svnadmin dump c:\ repo> C:\备份\ svnbacku p.dump