Re: git-svn: cloning an SVN repo with sub-branches and sub-tags
- From
- Stephen Bash <bash@genarts.com>
- Date
- Mar 29, 2012, 16:03 UTC
- Message-ID
- <de61c3ca-6678-49da-8803-a78d9f25a3b6@mail>
- In-Reply-To
- <4F7467E1.3090004@pocock.com.au>
----- Original Message -----
Show 60 quoted lines
> From: "Daniel Pocock" <daniel@pocock.com.au> > To: git@vger.kernel.org > Sent: Thursday, March 29, 2012 9:47:13 AM > Subject: git-svn: cloning an SVN repo with sub-branches and sub-tags > > I'm trying to use git-svn to clone a repo that has sub-branches and > sub-tags > > The SVN layout is like this: > > branches/user1/workitem1 > branches/user1/workitem2 > branches/user2/workitem1 > branches/user2/workitem2 > > tags/v1.0 > tags/v1.1 > tags/debian/v1.0-1 > tags/debian/v1.1-1 > tags/debian/v1.1-2 > > In git, I would like to have branches with the same names, e.g. > > branches/user1/workitem1 > branches/user1/workitem2 > branches/user2/workitem1 > branches/user2/workitem2 > > and tags like this: > > 1.0 (notice I don't want to keep the v1.0, drop the v) > 1.1 > debian/1.0-1 > debian/1.1-1 > debian/1.1-2 > > However, if I run > > git svn clone \ > -T trunk \ > -t tags \ > -b branches \ > https://flactag.svn.sourceforge.net/svnroot/flactag \ > flactag-git1 > > I don't get any of the branches or tags, and I get numerous warnings > like this: > > W: -empty_dir: branches/d_pocock/autotools/HTTPFetch.cc > W: -empty_dir: branches/d_pocock/autotools/HTTPFetch.h > W: Cannot find common ancestor between > f475b655c10b55b36df8376a396c0d9534418617 and > 7e277bfd626a1caa84681e93a7af73e0160eb2eb. Ignoring merge info. > W: Cannot find common ancestor between > f475b655c10b55b36df8376a396c0d9534418617 and > a82cd9bd2197a89303558af9aad43fa0c23d1ddb. Ignoring merge info. > > I have the impression that git-svn does not like the repository > layout and it is not clear from the manual page how to make it > work. Can anyone share any advice about this?
Complicated layouts can require a special git-svn configuration. See the configuration section at the end of the git-svn manpage:
http://schacon.github.com/git/git-svn.html
My usual work flow is:
git svn init /path/to/git/repo cd /path/to/git/repo edit .git/config git svn fetch
In the [svn-remote] section of Git config you can have multiple fetch, branches, and tag entries as long as each entry maps to a unique Git ref.
HTH, Stephen