SVN skip-delta/diff 行为与 FSFS 后端有关;1 个缺失修订是否 = HEAD 不完整?

SVN skip-delta/diff 行为与 FSFS 后端有关;1 个缺失修订是否 = HEAD 不完整?

我们在 CentOS 6.3 上安装了带有 FSFS 后端的 Subversion 1.6.11,通过 svnserve -d 提供服务。我已将我们移至新服务器,但不知何故搞砸了转储文件的加载(我们使用 Chris Knights svnbackup.pl 和 svnrestore.pl,它们基本上执行 svnadmin 转储和加载)。我们经历了一周的检查,所有在其工作目录中有缺失修订版本的文件的人都遇到了一堆校验和错误。他们会去更新,但该文件的校验和在新服务器上的任何地方都不存在,因为在服务器迁移期间没有加载修订版本。

我决定将完整转储重新加载到新创建的存储库,然后从有问题的存储库中执行一次增量转储,以捕获上周的任何提交,然后我在完整转储之上恢复它,

现在我有了与旧仓库同步的新仓库,并且还拥有上周的工作。

我的问题是:如果缺少修订,这会如何影响在该修订的路径中修改的较新(较新/编号较高)修订的文件? 如果有人在修订版 50 中为 test.cpp 添加了一个函数,而该文件的下一次修改是在修订版 70 和修订版 90 中,而我执行的恢复不知何故丢失了修订版 50,那么 test.cpp 是否会在修订版 70 和 90 中丢失该函数?我知道有一些二进制数学公式可以计算出跳过增量方案,但让我们假装我不够聪明,无法理解这一点,请为我简化一下。

答案1

假设脚本在执行转储和加载功能时没有任何严重错误,则不会。

转储格式独立于存储库格式。在单修订转储中发生更改的文件最终将完全保持转储中修订时的状态,而不管中间是否缺少修订(并且可能会抹去自转储修订以来所做的更改)。转储格式不会对过去修订的可用性做出假设。

相关内容