SVN 存储库 - 丢失了一些 \db\rev 文件,因此想要从备份中交换一些文件 - 不起作用

发布于 2024-12-19 19:37:26 字数 521 浏览 2 评论 0原文

我的 SVN 存储库 (1.4.2) 发生了不幸的开发 - 7 个变更集(\db\rev 中的文件)消失了。该存储库总共有大约 21,000 个签到信息。

我发现了一个几年前生成的 SVN Dump 文件,幸运的是它确实包含了所有缺失的修订(该转储有大约 17000 个从 0 开始的签入)。

我的目的是创建一个单独的 SVN 存储库,加载转储中的所有数据,并使用它将 7 个丢失的 rev 文件移回主 SVN 存储库位置。

我将转储文件导入到它自己的存储库中,并检查了 \db\revs 文件的内容。它们包含细微的(二进制)差异!因此,我无法简单地将重新生成的 rev 文件移动到主 SVN 存储库(我尝试过此操作,但由于文件长度和格式错误的标头等各种错误,svn 验证失败)。

我不明白为什么转储文件生成了不同格式的 rev 文件 - 我使用相同的 SVN 版本(1.4.2)和相同的操作系统环境。

有没有其他方法可以利用转储文件来重新创建我的主 SVN 存储库丢失的必要数据?我真的很想避免从头开始进行一些主要的(且有风险的)存储库重新生成。

Had an unfortunate development on my SVN repository (1.4.2) - 7 changesets (files in \db\rev) have disappeared. The reposisitory has around 21,000 check-ins in total.

I have found a SVN Dump file that was produced a few years ago, and luckily it does include all the missing revisions (the dump has around 17000 check-ins starting at 0).

My intention was to create a separate SVN repo, load in all the data from the dump and use this to move the 7 missing rev files back across to the main SVN repository location.

I imported the dump file into its own repo, and checked the content of the \db\revs files. They contained slight (binary) differences! As such I wasn't able to simply move the regenerated rev files across to the main SVN repository (I tried this but svn verify failed due to various errors such as file length and malformed headers).

I don't understand why the dump file has produced rev files in different format - I used the same SVN version (1.4.2) and same OS environment.

Is there any other way I can make use of the dump file to recreate the necessary data that my main SVN repo is missing? I've really like to avoid having to do some major (and risky) repository regeneration from scratch.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晒暮凉 2024-12-26 19:37:26

这听起来确实很奇怪。我建议您尝试从损坏的存储库中转储从 17000 到 21000 的修订(使用 --incremental 选项!)并将其加载到旧存储库中。

this sounds indeed strange. I would suggest you try to dump the revisions from 17000 to 21000 from your broken repository (use the --incremental option!) and load it into the old repository.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文