我尝试将svn repo克隆到git,但是有些分支在svn根目录中,如下所示。
我试过
$ git clone svn://url/svn-root -T trunk -b branches -b branch1 -b branch2
和
$ git clone svn://url/svn-root -T trunk -b branches -b .
两者都无法正确克隆branch1
和branch2
。请帮忙。
svn-root
├── branch1
├── branch2
├── branches
│ ├── branch3
│ └── branch4
└── trunk
答案 0 :(得分:6)
GitMinutes Episode 20中提到的一个有趣的工具是SubGit,Atalssian Stash的插件(不是免费的,但您可以免费试用)。
您可以在“GitMinutes #22: Alexander Kitaev about SubGit”中了解有关SubGit的更多信息。
它旨在管理非传统的svn repo布局。
您应该输入“分支”字段:
*:refs/heads/*;branches/*:refs/heads/branches/*
# instead of
branches/*
在这种情况下,
branch1
将被翻译为refs/heads/branch1
,
branch3
---至refs/heads/branches/branch3
。或者,如果您拥有有限数量的顶级分支,则可以明确枚举它们:
branch1:refs/heads/branch1;
branch2:refs/heads/branch2;
branches/*:refs/heads/branches/*
答案 1 :(得分:0)
有两种选择: