次のようなレイアウトのリポジトリがあります。
トランク/ プロジェクトA プロジェクトB 支店/ projectA-1.0 projectB-1.0 タグ/ projectA-1.0.1 projectB-1.0.1
それらを、trunk/projectA を最上位ディレクトリとして、すべてのブランチを git ブランチとして、個別の git リポジトリに変換したいと考えています。
git svn init
likeを指定しようとすると、異なるリビジョンでgit svn init -T trunk/projectA -b branches -t tags http://svn.example.com
フォローアップが不可解に失敗します。git svn fetch
200まで上がることもあれば、止まってしまうこともあります。
私の現在の考えでは、Subversion リポジトリ全体を、各プロジェクトのサブディレクトリを持つ単一のエンティティとしてミラーリングする git リポジトリを作成する必要があります。次にgit-filter-branch
、サブディレクトリをプロジェクトのルートに書き換えるために使用します。
ただし、and を使用したいようにブランチを動作させる方法がわかりませんgit-filter-branch
。
また、各プロジェクトの「トランク」に異なるブランチを持つ単一の git リポジトリを作成することも理想的です。この場合、実際にマスターがなくても問題はありません。