4

私は2つのリポジトリを持っています

http://mysnv/svn/proj1/trunk
  • proj1_folder1
  • proj1_folder2

http://mysnv/svn/proj2/trunk
  • proj2_folder1
  • proj2_folder2

次の結果を得るには、履歴付きのproj2をproj1のトランク内のフォルダーにコピーするにはどうすればよいですか?

http://mysnv/svn/proj1/trunk
  • proj1_folder1
  • proj1_folder2
  • proj2
    • proj2_folder1
    • proj2_folder2

実際に私がやりたいのは、proj2のすべてのコンテンツとproj2フォルダー内の履歴を含むSVNリポジトリを1つだけにすることです。http://mysnv/svn/proj1/trunk

これは私が使用しているSVNバージョンです:

svn、バージョン1.7.8(r1419691)

このブログを見つけましたが、svnマージは私にはわかりません。どこにあり./foo/trunk:proj1ますか?

私のsvnフォルダーの構造はのよう/data/svn/repos/で、トランクフォルダーが表示されません。

メインプロジェクトproj1に影響を与えずに、コピーを作成するコマンドを探しています。

4

1 に答える 1

10

物理的凝集

  • proj2リポジトリから必要なパスのダンプを作成します(svnadmin dump | svndumpfilter --include --include > dumpまたはsvnrdump URL-proj2_folder1 > dump1 & svnrdump URL-proj2_folder1 > dump2
  • 親フォルダを変更したproj1にダンプをロードします(svnadmin load --parent-dir trunk < dump
  • proj1 / trunk / trunkの下にあるproj2_folder1とproj2_folder2のデータの存在を確認します(2番目のトランクはrepo1のダンプのベースパスです)
  • 子トランクフォルダの名前をproj2に変更します(svn mv

親ディレクトリを使用してsvnrdump-edトランクを新しいリポジトリにロードするサンプルtrunk/Project1

ここに画像の説明を入力してください

論理集約

  • proj1 / trunk/proj2フォルダーを作成します
  • proj2内に2つのsvn:externals(ディレクトリタイプ)を作成します。proj2/ trunk/proj2_folder1にリンクされたproj2_folder1とproj2/trunk/proj2_folder2にリンクされたproj2_folder2です。
于 2013-02-10T09:54:14.187 に答える