名前

svnadmin dump — ファイルシステムの内容を標準出力にダンプします。

書式

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

説明

ファイルシステムの内容を、「ダンプファイル」 可搬形式で標準出力にダンプし、進行状況を標準エラー出力に表示します。リビジョン LOWER から、リビジョン UPPER までをダンプします。リビジョンを指定しなければ、すべてのリビジョンツリーをダンプします。LOWER だけ指定した場合、一つのリビジョンツリーをダンプします。実際の使い方については、リポジトリデータを別の場所へ移動項 をご覧ください。

デフォルトでは、Subversionの ダンプファイルストリームは、 ツリー全体を一度に追加したかのように、単一リビジョン (要求したリビジョン範囲の先頭リビジョン) のリポジトリにある全ファイル・ディレクトリを含みます。続いて、その他のリビジョン (要求した範囲の残りのリビジョン) で変更されたファイル・ディレクトリのみを含みます。ダンプファイルには、変更があるファイルでは、完全なフルテキストとすべての属性を含みます。ディレクトリでは、すべての属性を含みます。

ダンプファイルジェネレータの動作を変更する、二つの有用なオプションがあります。一つ目は --incremental オプションです。これは、そのリビジョンが表す新しいツリーではなく、そのリビジョンで変更されたファイルやディレクトリのみを含む、ダンプファイルストリームとなります。ダンプファイル内にある、その他すべてのリビジョンについても、まったく同じです。これは、ダンプ元のリポジトリに存在しているファイルとディレクトリを、すでに含んでいる別のリポジトリにロードするための、ダンプファイルを生成する場合に便利です。

二つ目の便利なオプションは --deltas です。このオプションは、ファイルの内容と属性についての完全なテキスト表現を出力するのではなく、それぞれのリビジョンの直前のリビジョンとの差分だけを出力するよう svnadmin dump に指示します。これは svnadmin dump が生成する ダンプファイルのサイズを (場合によっては劇的に) 減らします。しかし、このオプションを使う場合、欠点 — dumpfile の差分化には、作成する際の CPU 負荷増大、svndumpfilter での操作不能、gzipbzip2 といったサードパーティツールを使う際に差分化していないものほど圧縮率が高くないといったこと、もあります。

オプション

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

リポジトリ全体のダンプします。

$ svnadmin dump /usr/local/svn/repos
SVN-fs-dump-format-version: 1
Revision-number: 0
* リビジョン 0 をダンプしました。
Prop-content-length: 56
Content-length: 56
…

リポジトリから、1 トランザクションの差分ダンプを行います。

$ svnadmin dump /usr/local/svn/repos -r 21 --incremental 
* リビジョン 21 をダンプしました。
SVN-fs-dump-format-version: 1
Revision-number: 21
Prop-content-length: 101
Content-length: 101
…