gpt4 book ai didi

svnadmin: Svndiff 包含一个太大的窗口

转载 作者:行者123 更新时间:2023-12-05 00:07:45 27 4
gpt4 key购买 nike

当我尝试加载/恢复我的 SVN 存储库时,出现错误:

svnadmin: Svndiff contains a too large window

我该如何解决?

最佳答案

自从我今天遇到这个...

您的 FSFS 数据库的 svn 存储库中可能存在损坏的修订。

备份您的 SVN 存储库。

通过读取 ${REPO}/db/format 来确定您的存储库是否已打包/分片

[root@chi2 db]# cat format
4
layout linear

如果您的 fsfs 数据库是“布局分片”的,您需要从此处获取 fsfs-reshard.py: http://ymartin59.free.fr/wordpress/wp-content/2010/07/fsfs-reshard.py

(这个版本适用于 1.6+ 更大的存储库,这个人的补丁仍然没有移植到 svn trunk)。

运行以下命令解压存储库:

./fsfs-reshard.py ${REPO} 0

运行验证:

svnadmin verify ${REPO}

* Verified revision 13689.
* Verified revision 13690.
* Verified revision 13691.
svnadmin: E185001: Svndiff contains a too-large window

错误的版本是比上次验证的版本大 1 的版本,我们的错误版本是 13692。

从 Subversion trunk 获取 fsfsverify.py。 http://svn.apache.org/repos/asf/subversion/trunk/contrib/server-side/fsfsverify.py

在你的错误修订上运行 fsfsverify.py。您可能需要运行 -f 选项两次或更多次。这会吐出大量数据,但最终应该会干净。

[root@chi2 archive]# ./fsfsverify.py -f ${REPO}/db/revs/13692
Copy 4640123 bytes from offset 1006867
Write 4640123 bytes at offset 1003542
Fixed? :-) Re-run fsfsverify without the -f option
[root@chi2 archive]# ./fsfsverify.py ${REPO}/db/revs/13692

再次运行 svnadmin 验证。对任何进一步的错误修改重复上述过程。

一旦你有一个经过验证的存储库,你可以通过运行重新打包

./fsfs-reshard.py ${REPO} 1000

再次运行 svnadmin 验证!

您的 SVN 存储库应该没问题!

关于svnadmin: Svndiff 包含一个太大的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com