少し面倒な svn リポジトリを git に変換しようとしています。いくつかのガイドやその他の SO の質問を読んでみましたが、従うべき最善の方法について少し迷っています。
SVN リポジトリには、次のようなフォルダーを含む最上位のフォルダー構造があります。
|- client
|- server
|- website
|- misc
これらのフォルダーのほとんどは、「標準」の svn 構造を持ってtrunk
いbranches
ますtags
。ただし、一部は単なるフラット フォルダーです。
|- client
|- trunk
|- branches
|- tags
|- server
|- trunk
|- branches
|- tags
|- website
|- misc
ブランチとタグは、異なるフォルダー間で同じ名前を持つ場合があります。たとえば、クライアント フォルダーとサーバー フォルダーの両方に というブランチがある場合があります1.0
。
svn2gitを使用して個々のフォルダーを変換することができました。履歴とブランチを取得しているようです。フォルダーごとに個別の git リポジトリを作成することができます。ただし、最終的にはすべてを1 つのリポジトリに保持したいと考えています。
各フォルダーのブランチ、タグ、および履歴を維持しながら、これらのフォルダー (現在は git リポジトリ) を 1 つにマージする最良の方法は何ですか? このアプローチを使用すると、コミット履歴とマージ元リポジトリからのブランチの両方が失われるようです...または、重要な手順がいくつか欠けているか、何か間違っているのでしょうか?
それ以外の場合、svn2git
各フォルダーで個別に使用することは、svn から git に移行するための最良の方法ではないでしょうか?