我目前有以下 SVN 结构:
- 项目1
- 分支机构
- 中继
- 标签
- 项目2
- 分支机构
- 中继
- 标签
- 更多的东西
- 分支机构
- 中继
- 标签
最初有这个结构:
- 项目
- 分支机构
- 后备箱
- 项目1
- 项目2
- 更多资料
- 更多
- 标签
我正在尝试获取独立的 Git 存储库,一个用于“项目 1”,另一个用于“项目 2”。
这个问题与另一个 SO 问题不同但相似:Svn -> git migration with several trunk/branches/tags
git svn clone 操作仅从“SVN head”导入到结构重构。
我需要避免迁移整个历史的第一部分,因为我的 svn 存储库很大,我试过了,但它需要几天时间,而且 GIT 通常会因内存不足异常而崩溃。
有没有办法跟踪 svn 移动/结构重构操作并获得完整的“项目 N”历史记录,避免其余部分?
谢谢!
最佳答案
如果你想做一次性转换(反对使用 Git 作为前端,同时仍然在后台保留 SVN 服务器)你不应该使用 git-svn。
最好使用合适的迁移工具,那里有几个,其中几个名为 svn2git。我在这方面取得了很好的经验:http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git您几乎可以做任何您想做的事情,除了通过一次运行将路径放置在两个结果存储库中,但即使通过两次单独的运行,这也是可能的。
如果您想首先分析您的历史结构以确保在您知道之前确实没有其他布局,您可能想先使用此博客条目中的 svneverever:http://blog.hartwork.org/?p=763 ,这对我从一开始就不知道的存储库的 SVN 到 Git 转换非常有帮助。
关于git - SVN -> 具有结构变化的 Git 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16651192/