我已成功使用git-svn
将大型Subversion存储库导入git。花了四天的时间,我不得不跳过一些修订来帮助解决问题。
不幸的是,我忘记了一些分支。
原因是它们在原始Subversion层次结构中的结构差异很大。大致是 个分支的放置方式:
/MainProject // this is the trunk
/MainProject_Branches/SomeBranch
/MainProject_Branches/AnotherBranch
与--branches=
一起使用效果很好。
但是,在相同分支文件夹的old
子文件夹中还有其他分支:
/MainProject_Branches/old/AVeryOldBranch
/MainProject_Branches/old/AnotherOldBranch
然后,还有一个完全不同的层次结构:
/Customers/SomeCustomer/MainProject_CustomerSpecificFork // this, too, is a branch
/Customers/AnotherCustomer/MainProject_AnotherCustomerSpecificFork // this, too, is a branch
我想追溯处理这两种情况。
因此,一个git-svn
考虑将整个/MainProject_Branches/old
导入为单个分支,这当然是没有意义的。没什么大不了的,但是理想情况下,我希望将不正确的“旧”分支替换为下面的真实分支。(顺便说一下,至少SourceTree认为带斜线的分支以其名称命名为层次结构。如果将它们按字面意义导入到可折叠的子分支层次结构中,那就更好了!)
其次,更重要的是,所有特定于客户的分支都完全缺失,因为它们处于完全不同的层次结构中(但在同一SVN存储库中)。我想要在事实之后添加的内容。
这有可能吗?我需要使用与git-svn
不同的工具吗?