20

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

我在电脑上输入svn --versionsvnserve --version找出版本号,客户端和服务器版本是一样的,1.5.6版。我猜这个错误是由于服务器和客户端的不同版本而出现的。

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

为什么会出现错误?谢谢

4

10 回答 10

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
于 2009-05-08T05:48:56.003 回答
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
于 2011-04-14T05:52:19.043 回答
2

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

*旧存储库是通过右键单击文件夹并单击“在此处创建存储库”创建的

于 2009-09-05T02:18:33.477 回答
1

我安装了(Collabnet 安装)SVN 1.5.5,它在 TortoiseSVN 1.6.1 上运行良好。将 SVN 升级到 1.6.2 后,当我尝试通过 Trac 访问它时,我遇到了同样的错误(“1”和“3”之间的预期 fs 格式;找到格式“4”)。这为布莱尔的回答增添了可信度。我会告诉你我如何让它再次运行。

更新:布莱尔的回答也对我有用:消息说旧版本的 SVN 正在尝试访问存储库,所以找到它并删除它。对我来说,具体情况是该错误仅在我使用 Trac 时发生,因此我使用我能找到的最新安装程序 (svn-python-)在 Windows ( http://trac.edgewall.org/wiki/TracOnWindows ) 1.6.1.win32-py2.5.exe) 并从 Python 站点包文件夹中删除旧鸡蛋。重新启动并重新同步后,我再次启动并运行。

于 2009-05-13T00:12:12.170 回答
1

Zend Studio (8.x) 的最新版本有一个 SVN 工具,它给出了关于查找格式 4 的相同错误,但需要格式 1-3。我使用 CollabNet SVN(大约一年前)创建了我的存储库,但无法从 Zend Studio 中打开该存储库。

我认为最好的解决方案(至少对于我想使用 Zend Studio 而不是与之抗争的情况)是使用旧版本的 SVN 重新创建您的存储库。SVN 1.3 for Windows 的 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)。

于 2011-08-17T06:22:45.570 回答
0

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

于 2009-09-27T03:11:28.400 回答
0

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

于 2009-11-14T11:14:24.310 回答
0

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

这似乎成功了。

于 2011-09-23T12:14:47.070 回答
0

好吧,我也面临同样的问题。只需打开您创建的 svn 远程文件夹。在您的 db 文件夹中,您有格式文件。只是更换没有。与 1. 如果它不起作用,请尝试 2​​ 和 3。

于 2015-08-06T08:37:24.750 回答
0

如果您使用的是 VisualSVN 服务器,请确保您的命令如下所示

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

于 2016-08-18T14:48:55.537 回答