本文字档正在撰写中,内容可能随时变更,也可能无法准确描述 Apache™ Subversion® 软件的任何已发布版本。将此页面添加书签或以其他方式向他人推荐此页面可能不是明智之举。请访问 https://svnbook.subversion.org.cn/ 获取此书的稳定版本。

名称

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

语法

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

描述

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

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

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

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

[Tip] 提示

从 Subversion 1.8 开始,svndumpfilter 可以对增量转储流进行操作。在此版本之前,svndumpfilter 无法使用使用 --deltas 选项创建的转储流。

选项

示例

转储整个仓库

$ 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 发布