web-dev-qa-db-ja.com

SVNは単一のディレクトリを他のリポジトリに(履歴付きで)移動します

関連質問: リポジトリトランクを別のブランチに(履歴付きで)移動しています


completeSVNリポジトリを履歴付きでダンプし、次を使用してターゲットリポジトリのユーザー定義の(サブ)ディレクトリにロードできることを知っています。

// in source repo
> svnadmin dump . > mydumpfilename

// in destination repo (backslashes because I'm using Windows)
> svnadmin load . < mydumpfilename --parent-dir some\sub\directory

ただし、これにより、リポジトリ全体がターゲットリポジトリのサブディレクトリにインポートされます。私が欲しいのは、エクスポートする必要があるソースリポジトリのサブディレクトリを定義することです。何かのようなもの svnadmin dump . --source-path old\sub\dir > mydumpfilename

どうすればそれを達成できますか? TortoiseSVNがそれを実行できる場合は、そう言ってください;)


解決策:Tim Heniganの回答に感謝します。正しい方法は次のとおりです。

// execute in destination repo
svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir

これが他の人にも役立つことを願っています...

38
AndiDog

svndumpfilter と、このセクションの Repository Maintenance を確認してください。

古いリポジトリ全体のダンプファイルを取得したら、svndumpfilterを使用して必要な部分だけを抽出できます。

TortoiseSVNでこれを行う方法を知りません。

20
Tim Henigan

パーティーには少し遅れますが... TortoiseSVNを使用して両方のリポジトリのローカルコピーをプルしている場合、Repo1からディレクトリ(またはファイル)を右クリックして履歴を付けてディレクトリを実際に一方から他方にコピーできます。それをRepo2にドラッグします。マウスを離すと、次のオプションリストが表示されます。

enter image description here

「SVN Export versioned items here」は、履歴とともに(再帰的に)コピーされます。

0
noisiveRevision