SVN转储大小混乱

Posted

技术标签:

【中文标题】SVN转储大小混乱【英文标题】:SVN Dump size confusion 【发布时间】:2012-11-28 13:21:59 【问题描述】:

当我使用以下命令在我们的 repo 上运行完整转储时,有人可以指导我

svnadmin 转储 /repo > 备份.dump

这个转储文件大约 90GB

如果我在同一个 repo 上使用以下命令执行转储文件

svnadmin dump /repo -r 21782:HEAD > backup.dump

这个转储文件输出为 152GB

即使我错过了前 20,000 次修订,这几乎是两倍大,这怎么可能。

我以为它会更小,这与压缩有关吗?

如果您使用未压缩的修订版转储?

【问题讨论】:

【参考方案1】:

第一个修订版总是“完全扩展”转储,后续修订版作为增量转储。这意味着 rev 21782 中的数据非常大,如果您转储了 rev 21781:HEAD,您可能会看到它更小。

如果第一个修订版被转储为增量,那么您将无法从转储中重新创建它! (显然)

【讨论】:

【参考方案2】:

这基本上是 Why is a SVN dump of a single revision larger than a full dump? 的副本,它解释了 svn dump 的第一个修订版默认情况下包含整个存储库的完整表示,以确保导出的修订版(在您的情况下,r21782 到 HEAD)可以每个都成功提交。

该帖子还提到了解决此问题的方法(--incremental 选项。)

【讨论】:

以上是关于SVN转储大小混乱的主要内容,如果未能解决你的问题,请参考以下文章

当我在存储库中丢失一些修订时,如何转储所有 svn 数据?

java lib解析SVN转储文件?

如何更新 svn 转储

Waht 可能是“svnrdump”和“svnadmin dump”产生不同大小转储的原因?

在存储库的 SVN 转储期间观察到错误 (Visual SVN)

Apache Lucene 存储库的 SVN 转储