我正在尝试将 SVN 存储库转换为多个 git 存储库。到目前为止,我一直在使用git svn clone svn_repo_project_path
SVN 中的每个项目。我注意到 git 似乎没有遵循 svn 复制操作,因此生成的历史比我预期的要简短得多。假设我的 SVN 存储库看起来像这样:
根
- 一个
- b
- C
- 父项目
- b
- C
b
作为重组工作的一部分,项目c
最近被复制parent-proj
,目的是最终将它们从根目录下的旧位置删除。当我这样做时git svn clone http://svnhost/parent-proj
,生成的 git repo 丢失了所有源自迁移之前和迁移之前的历史/b
记录/c
。
这是 git-svn 的限制,还是有什么方法可以让这段历史出现在我的仓库中?从我有限的研究来看,使用 git-svn 重命名的 SVN repo 的完整历史中filter-branch
描述的命令似乎可以工作,尽管在我的情况下,有多个父母可能会使事情复杂化。可以先克隆整个回购然后从中分离出新的回购(使用过滤器分支?)是更好的方法吗?