プロが教える店舗&オフィスのセキュリティ対策術

現在、SVNでファイルの管理を行っています。1つのリポジトリに複数のプロジェクトを入れていたのですが、それぞれ進捗が激しくなってきたので、プロジェクトごとにリポジトリを作りたいと思っています。

それぞれのプロジェクトのファイル更新履歴もそのまま新しいリポジトリに引き継ぐことは可能でしょうか?

どうぞ、ご教示頂きますようお願い致します。

A 回答 (1件)

>それぞれのプロジェクトのファイル更新履歴もそのまま新しいリポジトリに引き継ぐことは可能でしょうか?



プロジェクトというか…ディレクトリですよね?

以前にも説明したことがあったような気もしますが、
svnadmin dumpでダンプして、
svndumpfilterでフィルタして、
新しいリポジトリにsvnadmin loadで流し込む。
ということになるかと。
「Subversion リポジトリ 一部 抜き出し」辺りで検索してください。

SourceForge.jpだとシェル使えなかったと思われますのでそこら辺はどうなるやら……。
「SourceForge SVN ダンプ」だといくつか見つかるので、もしかしたらできるのかも知れません。
が、試したことはもちろんありませんが。

この回答への補足

回答頂きありがとうございます。

C:\mywork\>svnadmin dump test_works | svndumpfilter include --drop-empty-rev s --renumber-revs test/project/proj1 > proj1_source.dat


このやり方に変更してみたところ、”test/project/proj1”プロジェクトフォルダのみのファイルをdumpすることができました。


ただ、

http://dqn.sakusakutto.jp/2012/08/svndumpfilter_ …

こちらの方のサイトを参考にsvndumpfilterを試してみましたが、dumpではエラーが出ることはほとんどないが、それをloadした際に過去に移動や依存性のあるフォルダも含めてsvndumpfilterでとっておかなければエラーが出てしまうということで、結構リポジトリのダイエットは難易度が高いなと感じています。


後で消せるからと思ってsvnを忘備録的に使用していた私としてはちょっと後悔しております。


新規にリポジトリを作成してそれぞれのプロジェクトのリポジトリを立てようかと思っております。

補足日時:2014/04/01 20:12
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。


C:\myworkというカレントディスク内で

test_worksというリポジトリフォルダがあるので、これを次のようなコマンドで、"test_works/test/project/proj1"というフォルダのなかのプロジェクトのみの履歴情報だけ取り出そうと思い次のようなコマンドを使用してみました。


C:\mywork\>svnadmin dump test_works | svndumpfilter include --drop-empty-rev s --renumber-revs test_works/test/project/proj1 > proj1_source.dat


しかし、これだと
svnadmin loadをやったときに、全く”test_works/test/project/proj1”のファイルが入っておらず、revsion履歴も全くないと出てくるのですが、


正しいコマンドの設定方法を教えて頂けませんでしょうか?


どうぞ、よろしくお願い致します。

お礼日時:2014/04/01 18:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!