如何通过git-svn使用嵌套分支

Art*_*ldt 7 svn git branch git-svn

我们的svn服务器有一个名为Dev和Branches的主干

/Branches/Release/1.0/
                 /2.0/
                 /2.3.4/

我克隆它的东西就像git svn clone -T Dev ... -b Branches ...
我跑的时候git branch 2.1 remotes/Release/2.1得到的:
fatal: Not a valid object name: 'remotes/Release/2.1'.

  • 我如何参考远程分支?
  • 我是否需要使用不同的args重新克隆?

Von*_*onC 11

如" 我如何使用git-svn将根目录在不同目录中的svn分支导入git? "中所述,您需要在初始导入期间获取所有嵌套分支:

[svn-remote "svn"]
    url = svn://svnserver/repo
    fetch = trunk:refs/remotes/trunk
    branches = branches/*/*:refs/remotes/*
    tags = tags/*:refs/remotes/tags/*
Run Code Online (Sandbox Code Playgroud)

这也在这个帖子中描述.
对于更复杂的SVN分支布局(如trunk中的分支!),在实现git-svn集成之前,可能首先修改SVN repo.

从Git1.6开始,"1.6.x提供了深度克隆,因此多个通配符可以与--branches选项一起使用",如" 使用Git-Svn克隆非标准Svn存储库 "中所述.

git svn clone https://svn.myrepos.com/myproject web-self-serve --trunk=trunk --branches=branches/*/* --prefix=svn/
Run Code Online (Sandbox Code Playgroud)