2010-01-03T23:55:05の更新内容

softwares/subversion/index.wiki.txt

current previous
296,36 296,6
 
cp -ipr repo_old/conf/* repo_old/conf/*
cp -ipr repo_old/conf/* repo_old/conf/*
 
}}
}}
 

        

        
+
**リポジトリの一部分を切り出す
+
ダンプファイルからリポジトリツリーの一部分を取り出したり除外したりするにはsvndumpfilterを使う。
+
#code{{
+
/
+
|-- mod_foo/
+
`-- mod_bar/
+
}}
+
例えば、上記のような構成のリポジトリから、mod_fooだけを切り出して一つのリポジトリを作成するには次のようにする。
+

          
+
まずリポジトリのダンプファイルを作成する。
+
#code(sh){{
+
svnadmin dump repo > repo.dump
+
}}
+
続いて、このダンプファイルから、mod_fooだけを含むようにsvndumpfilterでフィルタする。
+
#code(sh){{
+
svndumpfilter include mod_foo/ --drop-empty-revs --renumber-revs < repo.dump > mod_foo.dump
+
}}
+
後は、出来上がったmod_foo.dumpを新しいリポジトリにロードすることで、mod_fooだけを含むリポジトリを作成できる。
+
#code(sh){{
+
svnadmin create mod_foo
+
svnadmin load mod_foo < mod_foo.dump
+
}}
+

          
+
svndumpfilterで指定できるオプションは次のとおり。
+
:include|指定したパスを''含む''変更をフィルタして切り出す
+
:exclude|指定したパスを''除く''変更をフィルタして切り出す
+
:--drop-empty-revs|フィルタした結果、切り出すサブツリーに関係する変更がないリビジョンはダンプファイルに含めない
+
:--renumber-revs|フィルタした結果に、新しくリビジョン番号を振り直す
+
:--preserve-revprops|もとのリビジョン属性を維持する(リビジョン属性はフィルタしない)
+

          
 
**異なるバージョン間でのリポジトリ移動
**異なるバージョン間でのリポジトリ移動
 
あるバージョンのSubversionで管理されているリポジトリを、別のバージョンのSubversionで管理されている環境に移動する場合は、svnadmin dump/loadを使い次の手順で行う。
あるバージョンのSubversionで管理されているリポジトリを、別のバージョンのSubversionで管理されている環境に移動する場合は、svnadmin dump/loadを使い次の手順で行う。
 
+バージョンAのsvnadminでリポジトリをダンプする
+バージョンAのsvnadminでリポジトリをダンプする