我需要迁移的几个SVN存储库显示出非常混乱的布局。他们中的大多数,我想出了如何转换它们,但有一个困扰着我,我在网上找不到答案。
SVN存储库有这个文件夹结构:
/trunk/src
/trunk/doc
/trunk/tools/toolA
/trunk/tools/toolB
/toolX
问题是,我如何将其放入 GIT 主分支,例如:
/src
/doc
/tools/toolA
/tools/toolB
/tools/toolX
所以我必须使用 --trunk/导入项目并获得完全平面的布局?
不,最好进行经典导入,获取包含/trunk/src
而不是src
的存储库。
然后,使用 git filter-branch
,如此处 (2016( 甚至此处 (2011( 所示,您可以 mv/重命名这些文件以删除其路径中的任何/trunk/
。
这当然适用于一次性导入,不适用于双向导入/导出,您仍然希望稍后将数据git svn dcommit
回原始SVN存储库。