我重置了我的Raspberry Pi(垃圾运行太多了)。我想我可以简单地使用我的备份,以使SVN再次运行。这就出现了问题:我的备份(每日,全自动)只是将所有文件夹和文件复制到FTP-Web服务器。现在我只是将它下载到我的Windows-PC上并通过WinSCP将其复制到Raspberry Pi(首先我创建了带有sudo svnadmin create的文件夹)并删除了所有现有文件和文件夹,然后用FTP服务器中的内容替换它们 - 应该一样吗?之后我设置了权限,现在它应该可以工作。但它没有 - 这是问题(当试图用谷歌浏览器打开svn时) - 有这样的信息:
<D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns" xmlns:C="svn:">
<C:error/>
<m:human-readable errcode="160033">Could not open the requested SVN filesystem</m:human-readable>
</D:error>
apache-error日志还会记录问题:
[Sat Dec 05 21:37:28.826821 2015] [:error] [pid 559:tid 3003118640] (20014)Internal error: [client 192.168.188.20:55525] Unknown FS type 'fsfs\r'
[Sat Dec 05 21:37:28.831649 2015] [dav:error] [pid 559:tid 3003118640] [client 192.168.188.20:55525] Could not fetch resource information. [500, #0]
[Sat Dec 05 21:37:28.831808 2015] [dav:error] [pid 559:tid 3003118640] [client 192.168.188.20:55525] Could not open the requested SVN filesystem [500, #160033]
[Sat Dec 05 21:37:28.831914 2015] [dav:error] [pid 559:tid 3003118640] [client 192.168.188.20:55525] Could not open the requested SVN filesystem [500, #160033]
你是否有人知道如何让我的存储库再次运行?
非常感谢, 多米尼克
更新(1): 我修复了一些接缝导致问题的文件。现在,当我尝试转储我的存储库时,出现以下错误:
sudo svnadmin dump XYZ > b svnadmin: E200002: Serialized hash malformed ' into a number04: Could not convert '8
更新(2)
现在我修复了一些文件(似乎是编码或其他类似问题)。我收到了很多错误,如下所示:
svnadmin: E160004: Corrupt representation '10 830800 775 3124 (null) c38413b634a5c0f296b8806f46ba0d3b8f906125 (null)'
svnadmin: E160004: Malformed representation header at XYZ/db/revs/0/10:830817
我修复了它们:打开文件删除null所在的空间(看起来像一个普通空间......)并创建一个新空间(简单地使用windows编辑器)。这解决了这个问题但它只适用于前9个文件现在我得到了另一个错误:
svnadmin: E200002: Can't read length line in file 'XYZ/db/revs/0/10'
我已经尝试了同样的事情 - 在长度之后删除空格和最后一个(空行),但这对我不起作用。你有个想法吗?
将来我会使用dump来转储并将转储保存到我的ftp-server。但即使使用这些修改转储也不起作用 - 当试图转储r 0-9或r 1时会出现以下错误:
svnadmin: E200002: Serialized hash malformed
' into a number04: Could not convert '10
提前致谢, 多米尼克
答案 0 :(得分:0)
很长一段时间我和svn合作过,所以这只是猜测。我也希望在评论中写这个,但它太长了; - )
据我所知,他们会在每个新版本中更改fs-type。因此,如果您安装了较新版本,则dpkg管理器会尝试转换已注册的存储库。如果使用较旧的存储库覆盖生成的存储库,则不会进行此转换。 dpkg-reconfigure <svn package name>
可能有所帮助。但我不确定。
这是指向svn的fs结构描述的链接http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure。也许比较结构和版本可以让您了解出了什么问题。