本手册编写用于描述 Subversion 1.6.x 系列。如果您正在运行其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅与您的 Subversion 版本相符的手册版本。

名称

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

概要

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

描述

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

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

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

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

选项

--deltas
--incremental
--quiet (-q)
--revision (-r) REV

示例

转储您的整个存储库

$ 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.