SvnDiet - poramal/VuePractice GitHub Wiki

SubVersionダイエット企画

svnadmin dump

ローカル環境に存在するSVNリポジトリをバックアップするためのコマンド

svnadmin dump リポジトリのパス > ダンプファイル名.dat

svnrdump dump

リモート環境に存在するSVNリポジトリをバックアップするためのコマンド

svnrdump dump リポジトリのパス > ダンプファイル名.dat

svndumpfilter

SubVersionリポジトリをダンプする際、特定のパスを抽出/除外するためのツール

特定のフォルダを除外

svnadmin dump リポジトリのパス | svndumpfilter exclude 除外したいパス > ダンプファイル名.dat

特定のフォルダのみ抽出

svnadmin dump リポジトリのパス | svndumpfilter include 抽出したいパス > ダンプファイル名.dat

複数のパスをまとめて処理する場合

svnadmin dump リポジトリのパス | svndumpfilter exclude 除外パス1 除外パス2 除外パス3 > ダンプファイル名.dat

既にダンプ済みのファイルを処理する場合

type ダンプファイル名.dat | svnfilter ~

オプション

--drop-empty-revs   : フィルタをかけたために空になったリビジョンを取り除きます。
--renumber-revs     : フィルタをかけた後に残ったリビジョンに番号をふりなおします。
--preserve-revprops : リビジョン属性にはフィルタをかけません。
--quiet             : フィルタリングを行うときに統計を表示しません。

※指定したパスはprefixとして扱われるため、指定した文字列で始まるパスが処理対象となる。(/hogeと指定した場合は、/hoge2/hoge3も処理対象となる。)

サーバーのSVNリポジトリから特定のフォルダのみダンプ

ダンプ取得とフィルターを同時に行う

svnrdump dump file://192.168.117.220/svn/LBrosSrc/ | svndumpfilter include /trunk/Btc_New > trunk_btcnew.dat

ダンプ取得とフィルターを別々に行う
※powershellに入力用のリダイレクトが用意されていないので、Get-Contentでファイルの内容を取得してパイプで渡す

svnrdump dump file://192.168.117.220/svn/LBrosSrc/ > fulldump.dat

Get-Content fulldump.dat | svndumpfilter include /trunk/Btc_New > trunk_btcnew.dat

' into a numberE200004: Could not convert ' 2

ローカルリポジトリのバックアップを取得する

svnadmin dump C:/Work/Source/SVN/rep/ > hoge.dump