我有一个多项目SVN存储库,我试图将其转换为多个Git存储库,每个项目一个。
我可以使用git-svn处理这部分,我已经找到了多个HOWTO类型的文档,但是我遇到麻烦的是当前项目之一是通过重命名和合并SVN中不同项目的部分来创建的多次。在SVN中,我可以通过重命名/移动来查看单个文件的历史记录,但是当我使用git-svn并指定项目的trunk目录的当前位置时,它只会将历史记录转换为布局更改的位置,I当主干从不同的路径移动时,会丢失所有旧的历史记录。
具体来说,我的存储库布局看起来像这样:
/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跟随trunk回复有任何建议?