本文档旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的文档。

名称

svnadmin dump — 将文件系统的内容转储到 stdout

概要

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental] [--deltas]

描述

将文件系统的内容转储到 stdout 中的 转储文件 可移植格式,并将反馈信息发送到 stderr。转储修订版本 LOWERUPPER。如果没有给出修订版本,则转储所有修订版本树。如果只给出 LOWER,则转储该修订版本树。有关实际用途,请参见 名为“将存储库数据迁移到其他位置”的部分

默认情况下,Subversion 转储流包含单个修订版本(请求的修订版本范围内的第一个修订版本),其中存储库中该修订版本中的每个文件和目录都以一次添加整个树的方式呈现,然后是其他修订版本(请求的范围内的剩余修订版本),其中仅包含在这些修订版本中修改的文件和目录。对于修改后的文件,其内容的完整全文本表示以及所有属性都将显示在转储文件中;对于目录,将显示其所有属性。

有两个有用的选项可以修改转储文件生成器的行为。第一个是 --incremental 选项,它只会导致转储流中的第一个修订版只包含该修订版中修改的文件和目录,而不是作为新树的添加,并且与转储文件中其他所有修订版以完全相同的方式呈现。这对于生成一个相对较小的转储文件以加载到另一个已经包含原始存储库中存在的文件和目录的存储库中很有用。

第二个有用的选项是 --deltas。此选项会导致 svnadmin dump 不发出文件内容和属性列表的完整文本表示,而是仅发出这些项目与其先前版本的增量。这减少了(在某些情况下,大幅减少)svnadmin dump 创建的转储文件的大小。但是,使用此选项有一些缺点——增量转储文件创建起来更耗费 CPU,不能由 svndumpfilter 操作,并且在使用第三方工具(如 gzipbzip2)时,其压缩效果往往不如非增量转储文件。

选项

示例

转储整个存储库

$ svnadmin dump /var/svn/repos > full.dump
* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
…

增量转储存储库中的单个事务

$ svnadmin dump /var/svn/repos -r 21 --incremental > incr.dump
* Dumped revision 21.
TortoiseSVN 官方中文版 1.14.7 发布