git svn clone a non-standard repository
- From
- John Locke <mail@freelock.com>
- Date
- Jun 24, 2008, 18:32 UTC
- Message-ID
- <48613DC5.2000506@freelock.com>
Hi,
I'm trying to create a git repo of the Dojo Toolkit, which has a quite non-standard layout. There are 4 modules to the current Dojo project that I care about (and some others in the repo that I'm not interested in). The problem is, the trunk code is split out into <modulename>/trunk, while tags are in tags/<tagname>/<modulename> and branches are in branches/<branchname>/<modulename>. e.g:
moduleA/trunk <- contains trunk development of moduleA moduleA/tags <- empty moduleA/branches <- empty moduleB/trunk moduleB/tags moduleB/branches moduleC/trunk moduleC/tags moduleC/branches moduleD/trunk moduleD/tags moduleD/branches moduleE/trunk <- I don't care about this one... trunk/ <- contains ancient version, not actual trunk tags/1.0.0/moduleA <- contains tagged version of moduleA tags/1.0.0/moduleB <- contains tagged version of moduleB tags/1.0.0/moduleC <- contains tagged version of moduleC tags/1.0.0/moduleD <- contains tagged version of moduleD tags/1.0.1/moduleA tags/1.0.1/moduleB ...
So I'd like to set up a git repo that tracks this SVN repository, and allows me to see: moduleA/ moduleB/ moduleC/ moduleD/ ... in my checkout, whether I'm on trunk or a tag.
What's the best way to set this up?
I've started with "git svn clone http://path/to/svn -T moduleA/trunk -t tags -b branches", and it's been sucking down branches for a couple days now, still not done. Can I set up moduleB/moduleC/moduleD as additional remotes in this same repository, and end up with the desired result? Was thinking I would add additional svn sections to .git/config, and then git svn fetch -- will this work, or is there a better way?
Thanks,
-- John Locke "Open Source Solutions for Small Business Problems" published by Charles River Media, June 2004 http://www.freelock.com