我们目前运行一个大的subversion存储库,我正在尝试将其移至GIT。问题是它使用根目录下的中继和标记。例如:
MyDepartment\MyOS\Project1\trunk\ <-- master branch
MyDepartment\MyOS\Project1\branch\v1 <-- other branch
MyDepartment\MyOS\Project1\tags\v1_20100101 <-- release tag
有不同的部门,操作系统和许多不同的项目。
所以当我使用--stdlayout:
克隆SVN存储库时git svn clone --stdlayout http://svn-repository/
克隆结束为空。没有选项,我得到一个克隆,但然后分支被视为主分支上的目录。
答案 0 :(得分:3)
如果我正确地解释了这个问题,你想要:
git svn clone
--trunk=MyDepartment\MyOS\Project1\trunk
--tags=MyDepartment\MyOS\Project1\tags
--branches=MyDepartment\MyOS\Project1\branch
http://svn-repository/
更新:你可以包含多个--branches和--tags:
git svn clone
--trunk=MyDepartment\MyOS\Project1\trunk
--tags=MyDepartment\MyOS\Project1\tags
--tags=MyDepartment\MyOS\Project2\tags
--tags=OtherDepatment\MyOS\Project1\tags
--branches=MyDepartment\MyOS\Project1\branch
--branches=MyDepartment\MyOS\Project2\branch
--branches=OtherDepartment\MyOS\Project1\branch
http://svn-repository/
显然你不能拥有更多的一个主干。
Git实际上是为每个存储库支持一个项目而不是一个存储库中的多个项目。我想你会尝试使用它来解决很多问题。
答案 1 :(得分:0)
查看Git submodules。您可能需要单独导入每个子项目,但结果可能会更好地反映您当前的使用情况。