ソースが単一の最上位ディレクトリでインポートされなかったプロジェクトの svn リポジトリを管理しています。その結果、1 つではなく、約 15 の個別の「プロジェクト」があります。変更履歴を維持しながら、これらを 1 つのフォルダーにマージするにはどうすればよいですか?
*ヒント: この場合、svn move は機能しません。
ソースが単一の最上位ディレクトリでインポートされなかったプロジェクトの svn リポジトリを管理しています。その結果、1 つではなく、約 15 の個別の「プロジェクト」があります。変更履歴を維持しながら、これらを 1 つのフォルダーにマージするにはどうすればよいですか?
*ヒント: この場合、svn move は機能しません。
1 つのリポジトリのすべての履歴を保持する必要がない場合は、1 つのプロジェクトのリポジトリの下に新しいディレクトリを作成してから、もう 1 つのリポジトリをインポートできます。
両方の履歴を保持したい場合は、'svnadmin dump' を使用して 1 つのリポジトリをダンプし、'svnadmin load' を使用してそれを他のリポジトリにロードできます。リビジョン番号はオフになりますが、履歴は残ります。
たぶん、私は分散バージョン管理ハンマーを使いすぎていて、この時点で見られるのは分散ネイルだけです。しかし、これはおそらく DVCS の仕事であることをもう一度言わなければなりません。
git-svn などをいじってみます。各「プロジェクト」を独自の git リポジトリにインポートし、互いに git pull します。競合を解決し、すべてが完了したら、履歴を Subversion にインポートします。
ただし、とにかくすべてのリポジトリのマージが完了したら、分散コントロールを使用する方がチームにとって良い場合があります...
svn:externalsを使用して他のすべてのプロジェクトをポイントし、それらを適切なサブディレクトリに配置する新しいトップレベルプロジェクトを作成できます。
svn propedit svn:externals top_dir
)。