这个问题类似于this one和this one,但场景稍微复杂一些。
几年前我开始使用私有 svn 存储库(我主要用于在各种机器之间共享配置文件等)。我对存储库的布局(分支、转到等)不太小心,因此随着时间的推移它发生了很大变化。当然,这是一个错误,但现在为时已晚。最近,我将它迁移到更标准的 svn trunk/branches/tags 布局,主要使用 svn move 命令,但当然旧的历史仍然存在于存储库中(坦率地说,有点乱) .
我现在想将其永久转换为 git 存储库。我尝试过使用 git-svn,但它似乎只处理遵循一致的主干/分支/标签约定的情况(是的,您可以提供替代名称,但似乎每个名称只有一个)。我的存储库的很多历史记录都有效地位于存储库的根目录中,例如,标签/和分支/作为子目录。
处理这一切的最佳方法是什么?理想情况下,我希望我最终得到的 git 存储库至少可以以某种方式访问所有历史记录,即使分支和标签在 git 中没有正确表示为一流的概念。
更具体地说,svn-git 将如何处理它提供的 trunk/branches/tags 子目录之外的文件?到目前为止,我的观察是它有时会遗漏它们(绝对不行),而有时会将它们添加到新的存储库中。
任何想法将不胜感激。