结构复杂的Git SVN克隆

2024-03-21

我需要将 SVN 存储库克隆到 git。 SVN 存储库的结构就好像它是存储库的存储库,如下所示:

SVNRepo
|____ProjectA
|    |___branches
|    |___tags
|    |___trunk
|            file
|____ProjectB
|    |___branches
|    |___tags
|    |___trunk
             file

我需要克隆存储库,以便最终得到一个 git 存储库,而不包含 svn 特定文件夹(分支、标签、主干)。我最初转储然后将 SVN 存储库拆分为每个项目的单独存储库,并使用 git svn clone 和 --stdlayout 命令迁移到 git。这有效,但也带来了其自身的问题,已被我们的团队否决。

我尝试了 git svn 克隆with--stdlayout 命令但这不起作用。我最终得到一个空的 git 存储库,其中有 2 次提交(数百次提交),并且没有实际文件。没有错误,所以我不确定发生了什么。

尝试 git svn 克隆without--stdlayout 是有效的,因为我得到了一个包含所有文件和历史记录的 git 存储库。但是,我仍然拥有我想要删除的所有分支、标签和主干文件夹。

我考虑过转储 SVN 存储库并使用 sed 编辑二进制文件,但这似乎需要大量工作。我想其他人也遇到过这个问题并解决了问题,但找不到任何有效的方法。


您可以在 git svn 的配置中设置多个主干、分支和标签位置。如果它们是由同一个父级创建的,git-svn 会弄清楚。https://git-scm.com/docs/git-svn https://git-scm.com/docs/git-svn

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

结构复杂的Git SVN克隆 的相关文章

随机推荐