fREW Schmidt venit, vidit, dixit 21.05.2011 05:41: > Hey guys, > Lately I've been doing a lot of permanent subversion to git > conversions, and I keep running into braindead repo structures that > give me pain to export. The main one is this: > > trying to check out MyProject: > > trunk/MyProject > trunk/OtherProject > tags/MyProject-1.0 > tags/MyProject-1.1 > tags/OtherProject-1.0 > > So you see I can't just specify to git-svn that tags is the tags dir. > I know a workaround (check out each tag separately and then use git > fetch to put them all in the same repo) but that's really inefficient. > > So really what would be great would be to be able to do the following: > > git svn clone $repo --trunk=trunk/MyProject --tag=tags/MyProject-1.0 > (and --branch would be great too) > > Anyway, I am fairly well versed with perl, so I could try my hand at > writing such a feature, but I wouldn't really know where to start or > if anyone other than me is even interested in something this. If you scroll down to the config section in git-svn(1) you will find that you can use things like this: fetch = trunk/MyProject:refs/remotes/foo/trunk tags = tags/MyProject-*:refs/remotes/foo/tags/* I seem to remember you can even specify these as arguments to -t and such but haven't checked. Uh. Wait. We allow only .../*/... and .../* on the left hand side, at least per the doc. So, you could either use the existing variant tags = tags/{MyProject-1.0,MyProject-1.}:refs/remotes/foo/tags/* or use your perl foo and lift the /*/ requirement. Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html