4

プロジェクトごとに1つずつ、複数のGitリポジトリに変換しようとしているマルチプロジェクトSVNリポジトリがあります。

その部分はgit-svnで処理でき、そのためのHOWTOタイプのドキュメントが複数見つかりましたが、問題が発生したのは、現在のプロジェクトの1つが、SVNの異なるプロジェクトの一部の名前を変更して複数回マージすることによって作成されたことです。SVN では、個々のファイルの名前変更/移動の履歴を確認できますが、git-svn を使用してプロジェクトのトランク ディレクトリの現在の場所を指定すると、レイアウトが変更された時点までの履歴のみが変換されます。トランクが別のパスから移動されたときからの古い履歴がすべて失われます。

具体的には、私のリポジトリのレイアウトは次のようになっていました。

/projectA/trunk/src/com/mycompany/projectA/MyClass.java
/projectB/trunk/src/com/mycompany/projectB/OtherClass.java

これは次のように変換されました。

/trunk/projectA/src/com/mycompany/projectA/MyClass.java
/trunk/projectB/src/com/mycompany/projectB/OtherClass.java

その後、名前が変更され、src ディレクトリが共通のトランクにマージされました。

/combined-project/trunk/src/com/mycomany/projectA/MyClass.java
/combined-project/trunk/src/com/mycomany/projectB/OtherClass.java

だから私が実行した場合:

git svn clone --trunk=/combined-project/trunk

次に、履歴が最新の名前変更までさかのぼる git リポジトリを取得します。名前を変更して git svn clone をトランクに戻す方法について誰かアドバイスはありますか?

4

0 に答える 0