our svn server has a trunk called Dev and Branches live in
/Branches/Release/1.0/ /2.0/ /2.3.4/
i cloned it with something like git svn clone -T Dev ... -b Branches ...
git branch 2.1 remotes/Release/2.1
i get:
fatal: Not a valid object name开发者_如何学C: 'remotes/Release/2.1'.
- How do I refer to the remote branch?
- Do I need to re-clone with different args?
As mentioned in "How do I import svn branches rooted in different directories into git using git-svn?", you need to grab all the nested branch during the initial import:
[svn-remote "svn"]
url = svn://svnserver/repo
fetch = trunk:refs/remotes/trunk
branches = branches/*/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
That is also described in this thread.
For even more complex SVN branch layout (like branches within trunk!), a modification of the SVN repo might be in order first, before putting in place a git-svn integration.
Since Git1.6, "1.6.x offers deep cloning so that multiple wildcards can be used with the --branches option", as mentioned in "Cloning a Non-Standard Svn Repository with Git-Svn".
git svn clone https://svn.myrepos.com/myproject web-self-serve --trunk=trunk --branches=branches/*/* --prefix=svn/
精彩评论