subgit - svn的trunk和root文件夹将组合在git的主文件夹中

时间:2017-12-13 16:02:52

标签: git svn subgit

以下是我的svn存储库结构

svnrepo

  • 躯干
  • 分支
  • 标记
  • folder1中
  • 文件夹2

我想在git存储库trunk分支中拥有folder1内容,folder2master,如何使用subgit迁移实现此目的?

gitrepo(主人)

  • 主干内容
  • folder1中
  • 文件夹2

1 个答案:

答案 0 :(得分:0)

据我所知,你不想在Git中使用branches /和tags /。在这种情况下,您可以使用以下配置:

trunk = trunk:refs/heads/master
branches = folder1:refs/heads/folder1
branches = folder2:refs/heads/folder2

您可以在branches mapping文章中找到有关trunk / branches / tags / shelf选项的更多信息。如果您需要双向转换,并且希望在分支中自我合并的情况下将每个Git提交转换为单独的修订,您可以选择添加shelves=shelves/*:refs/shelves/*选项。

更新:问题是将trunk和几个分支转换为同一个Git分支。我只能提出以下方法:

trunk = :refs/heads/master
includePath = /trunk
includePath = /folder1
includePath = /folder2

它会将项目根目录转换为refs / heads / master,但跳过除这3个目录之外的所有内容。请注意,未跳过的目录仍将从SVN下载,但稍后会在本地丢弃。

这是您原始问题的最接近的解决方案,我不知道更好。