13

SVNリポジトリの一部をオフサイトのAWSインスタンスに移動したいので、このページをフォローしています(リポジトリのメンテナンス) 。

dumpリポジトリ全体(Windowsコマンド)を使用しました:

  • svnadmin dump c:\repo > all_repo

次に、それをフィルタリングして、関心のあるプロジェクト(「M1」と呼ばれる)のみを含めます。

  • type all_repo | svndumpfilter include M1 --drop-empty-revs > m1

他のいくつかのプロジェクトですでに行っているので、これが正しいことはわかっています。


このプロジェクトでは、この投稿のタイトルに示されているエラーで壊れます。正確な表現は次のとおりです。

svndumpfilter:無効なコピーソースパス'/ Personal / Richard / M1_Config'

プロセスは存在しないパイプに書き込もうとしました。

エラーが参照しているフォルダーは、個人用フォルダーの下に作成して送信した構成ユーティリティであり、root /m1...フォルダーの下にはありません。フィルタリングされたファイルに含めたくありませんが、svnコマンドにこれを示す方法がわかりません。

  1. Personal / Richard / M1_Configフォルダーを完全に除外しながら、M1フォルダー全体とその子を正しくフィルター処理するにはどうすればよいですか?
  2. エクスポートされたファイルに、リモートSVNでM1フォルダーを正しく再作成するための正しい情報が含まれているかどうかを確認するにはどうすればよいですか?
4

3 に答える 3

19

私はそれを行うために少なくとも 4 つの異なるアプリケーションを試しましたが、実際に機能したのはsvndumpfilterINを使用する ことだけでした:

svnadmin dump c:\repo > all_repo
svndumpfilter.py all_repo --repo=c:\repo --output-dump=m1 include M1

Linux に関する私の完全な回答は次のとおりです。

これが私が試したもので、うまくいきませんでした

于 2014-03-05T10:13:20.790 に答える
16

ある時点でパス/Personal/Richard/M1_Configにコピーされました。M1ソースが除外されているため、コピーを実行できないというエラー メッセージが表示されます。svndumpfilter が不平を言ったリビジョンを確認してください。

/Personal/Richard/M1_Config最終的なインポートにパスが必要ない場合でも、パスを含める必要があります。それぞれがその親に存在するため、パス/Personal/Richardとパスも含める必要があります。/Personalコマンドは次のようにする必要があります。

type all_repo | svndumpfilter include M1 "/Personal" --drop-empty-revs > m1 

他のパスがあり、/Personal/Jamesそれらが不要であり、それらを除外したい場合は、2 番目の svndumpfilter を実行してそれらを取り除くことができます:

type m1 | svndumpfilter exclude "/Personal/James" --drop-empty-revs > m1_2
于 2012-11-22T13:06:15.030 に答える