1

私は、4 つの異なるプロジェクトを持つソフトウェアに取り組んでいます。これらの各プロジェクトは、トランクと 2 つのブランチを備えた個別の SVN リポジトリに保存されます。

だからこんな感じ

repo1
    trunk
        src
    branches
        branch1
            src
        branch2
            src

etc...

repo4
    trunk
        src
    branches
        branch1
            src
        branch2
            src

私がやりたいのは、これらのリポジトリを 1 つのリポジトリに結合して、1 つのリポジトリで切り替え、マージ、および履歴を実行できるようにすることであり、4 つの異なるリポジトリを処理する必要はありません。

最終的にはこんな感じになると思います

repo
    trunk
        project1
            src
        etc...
        project4
            src
    branches
        branch1
            project1
                src
            etc...
            project4
                src
        branch2
            project1
                src
            etc...
            project4
                src

これを行うことは可能ですか?Combining multiple SVN repositories into oneを見てきましたtrunk branches tagsが、各プロジェクト内に含める方法について説明していますが、プロジェクトをさまざまな標準 SVN フォルダーに含めることを希望しています (そうしない正当な理由がない限り)。

4

1 に答える 1

1

リンクした質問に対する回答と Wrikken からの提案を使用して、これを機能させることができました。

最初のステップは、既存のリポジトリをダンプすることです

svnadmin dump > project1.dmp

結合されたレポに新しいフォルダーを作成します

svn mkdir http://myserver/svn/repo/project1

次に、それらを新しいリポジトリにロードします

svnadmin load --parent-dir "project1" < project1.dmp

project1フォルダに移動して移動します

svn mv http://myserver/svn/repo/project1/trunk http://myserver/svn/repo/trunk/project1
svn mv http://myserver/svn/repo/branches/branch1 http://myserver/svn/repo/branches/branch1/project1

project1今すぐディレクトリを削除します

svn delete http://myserver/svn/repo/project1

マージする他のリポジトリについても同じことを行います。

于 2012-06-19T21:03:29.727 に答える