これについて、解決策のない SO 投稿を多数見てきました。
複数のプロジェクトをホストする 1 つの Subversion リポジトリがあります。ブランチ、タグ、およびトランクのコピーを含む履歴を保持しながら、これらのプロジェクトの 1 つを git に移行したいと考えています。
この 1 つのプロジェクトには、もともと次のような構造がありました。
root/
dir/
mod1/
trunk/
branches/
tags/
mod2/
trunk/
branches/
tags/
...
当初、これらのプロジェクトは独立したプロジェクトとして開発されましたが、当初考えていたよりも関連性が高いことが判明したため、個々のトランク、ブランチ、およびタグのディレクトリをすべてコピーして、次のように再編成することにしましたdir/
。
root/
dir/
trunk/
mod1/
mod2/
...
branches/
tags/
私git svn clone
のように見えます:
git svn clone --no-metadata <svn_url>/root/dir -s git-svn-clone
その後、これに従ってブランチとタグをクリーンアップしますが、 を実行するgit log
と、そのブランチ/タグ/トランクが svn にコピーされた時点からの履歴しか表示されません。
試してみましgit log --follow
たが、うまくいきません。私は-M -C and --find-copies-harder
オプションを試しましたが、それらはすべて同じことを示しています。
すべてのブランチ、タグ、トランクを確実に複製することで、git はディレクトリのコピー元の親を見つけることができると思っていたでしょう。
私が望んでいることは単に不可能ですか?歴史を持たないことは世界で最悪のことではありませんが、それは素晴らしいことです.