从非标准布局的SVN各种源文件夹迁移到GIT

从非标准布局的SVN各种源文件夹迁移到GIT,git,svn,git-svn,Git,Svn,Git Svn,我需要迁移的几个SVN存储库的布局非常混乱。其中大多数,我都知道如何转换,但有一个问题困扰着我,我在网上找不到答案 SVN存储库具有以下文件夹结构: /trunk/src /trunk/doc /trunk/tools/toolA /trunk/tools/toolB /toolX 问题是,我如何将其导入GIT master分支,如: /src /doc /tools/toolA /tools/toolB /tools/toolX 所以我必须导入带有--trunk/的项目,然后得到一个完全平

我需要迁移的几个SVN存储库的布局非常混乱。其中大多数,我都知道如何转换,但有一个问题困扰着我,我在网上找不到答案

SVN存储库具有以下文件夹结构:

/trunk/src
/trunk/doc
/trunk/tools/toolA
/trunk/tools/toolB
/toolX
问题是,我如何将其导入GIT master分支,如:

/src
/doc
/tools/toolA
/tools/toolB
/tools/toolX

所以我必须导入带有--trunk/的项目,然后得到一个完全平坦的布局

不,最好是进行经典导入,获得一个包含
/trunk/src
的存储库,而不是
src

然后,使用as(2016)或(2011),您可以对这些文件进行mv/重命名,以删除其路径中的任何
/trunk/


这当然适用于一次性导入,而不适用于双向导入/导出,在这种情况下,您以后仍希望将数据返回到原始SVN存储库。

是否真的没有人能够回答?您是否考虑过进行标准导入,然后对所有文件执行
git mv
?因此我必须使用
--trunk/
导入项目并获得完全平坦的布局?因为当svn从
/trunk
复制时,当然还有
/branchA/branchB
,对不起,我看到了来自CVS的转换,但没有来自svn的转换。我会假设,就像CVS一样,一个自动转换工具应该将主干放在主分支中,而SVN分支作为Git分支从主分支中分支出来,与它们在SVN中分支主干的位置相同。一旦进入Git,所有的
主干
/branchX/branchX
结构都应该消失,因为Git不是这样管理分支的。如果不是这样的话,我就不知道该怎么做了。我的
git mv
建议的局限性在于,您必须在每个分支中分别执行此操作;也许不太好。谢谢你指出这一点。我会试试看结果如何。