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

时间:2019-06-04 05:45:43

标签: git svn git-svn

我需要迁移的几个SVN存储库显示出非常混乱的布局。他们中的大多数人,我都想出了如何转换它们的方法,但是其中一个正在困扰我,我在网上找不到答案。

SVN存储库具有此文件夹strucutre:

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

问题是,如何将其放入GIT master分支,如:

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

1 个答案:

答案 0 :(得分:0)

  

所以我必须使用--trunk /导入项目并获得完全平坦的布局?

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

然后使用git filter-branch(如shown here(2016)或even here(2011)),可以mv /重命名这些文件,以删除其中的任何/trunk/他们的路。

这当然适用于单次导入,而不适用于双向导入/导出,您以后仍然希望将数据git svn dcommit返回到原始SVN存储库。