这就是我所做的,我已经安装了svnserve作为服务,我使用 net start svn service 命令启动它。我输入 svn ls svn:// localhost 来测试服务,但它返回了错误,如本文标题所述。
我在计算机上输入 svn --version 和 svnserve --version 以查找版本号,客户端和服务器版本相同,版本1.5 0.6。我猜测由于服务器和客户端的不同版本而出现错误。
当我在cmd中使用 svnserve --daemon --root 命令启动服务器时,仍会显示错误。
为什么会出现错误?感谢
答案 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)
答案 9 :(得分:0)
如果您使用的是VisualSVN服务器,请确保您的命令与下面的命令类似
示例命令: C:\ Program Files \ VisualSVN Server \ bin> svnadmin dump c:\ repo> C:\备份\ svnbacku p.dump