私は SVN プロバイダーを移動しています。そうすると、すべてのリポジトリが次のように開始https://www.provider1.com/myrepo1
され、そのリポジトリで svn ダンプを実行しました。リポジトリ内でパスが開始しますtrunk/src
, trunk/lib
, など.ただし、新しいプロバイダーは単一の URL しか提供しません私のプロジェクトをそれらにダンプするために。そのため、ダンプ内のすべてのディレクトリの名前を変更して、各パスに新しい親を追加しmyrepo1/trunk/src
、myrepo1/trunk/lib
、などのように見えるようにする必要があります。各 URL リポジトリに新しいディレクトリを作成し、フォルダをそこに移動できることに気付きました。しかし、それはその歴史を変えるものではありません。svndumpfilter を使用して、この親をダンプ ファイルに直接追加する方法はありますか? そうでない場合、どうすればよいですか?
質問する
1538 次
2 に答える
1
あるいは、SVNKitに基づくsvnkitfilterを使用することもできます:
$ svnkitfilter OLD_ROOT_URL NEW_URL --prefix myrepo1
于 2012-08-02T02:26:11.367 に答える
1
これを機能させるために私がしたことは次のとおりです。結局、svndumpfilter を使用しませんでした。代わりに、新しいリポジトリを使用してsvnadmin
作成し、その新しく作成された svn リポジトリに親ディレクトリを作成しました。svnadmin load
次に、そのダンプを新しい親ディレクトリの下に置くように指示して、ダンプをロードしました。
最初にプロジェクトをプルダウンし、そのプロジェクトのダンプを作成します。
svnadmin create project1
emacs repo/hooks/pre-revprop-change
chmod 755 project1/hooks/pre-revprop-change
svnsync init file://$(pwd)/project1 https://somehost.com/svn/project1
svnsync sync file://$(pwd)/project1
svnadmin dump project1 > some.dump
次に、ダンプを新しい親ディレクトリにロードする新しい svn プロジェクトを作成します。
svnadmin create someDirectory
svn mkdir -m "Add root directory to project" file://$(pwd)/someDirectory/THE_PARENT_NAME
cat some.dump | svnadmin load --parent-dir THE_PARENT_NAME someDirectory
于 2012-08-01T17:55:24.597 に答える