{"thread":{"id":"27420","subject":"git-svn feature idea","startedAt":"2011-05-21T03:41:39Z","lastAt":"2011-05-21T10:03:26Z","messageCount":2,"participants":["fREW Schmidt","Michael J Gruber"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"168345","messageId":"BANLkTi=OHfHaHE86z8Ufj44J+Oxu8ec5ug@mail.gmail.com","threadId":"27420","inReplyTo":null,"subject":"git-svn feature idea","fromName":"fREW Schmidt","fromEmail":"frioux@gmail.com","sentAt":"2011-05-21T03:41:39Z","receivedAt":"2011-05-21T03:41:39Z","isPatch":false,"sender":{"key":"frioux@gmail.com","avatar":"https://gravatar.com/avatar/639ef3cc221c7f2c225568697bc9d42be4d4e3bada6b4a3b9c32685548f3c105?d=mp&s=160"},"body":"Hey guys,\nLately I've been doing a lot of permanent subversion to git\nconversions, and I keep running into braindead repo structures that\ngive me pain to export.  The main one is this:\n\ntrying to check out MyProject:\n\ntrunk/MyProject\ntrunk/OtherProject\ntags/MyProject-1.0\ntags/MyProject-1.1\ntags/OtherProject-1.0\n\nSo you see I can't just specify to git-svn that tags is the tags dir.\nI know a workaround (check out each tag separately and then use git\nfetch to put them all in the same repo) but that's really inefficient.\n\nSo really what would be great would be to be able to do the following:\n\ngit svn clone $repo --trunk=trunk/MyProject --tag=tags/MyProject-1.0\n(and --branch would be great too)\n\nAnyway, I am fairly well versed with perl, so I could try my hand at\nwriting such a feature, but I wouldn't really know where to start or\nif anyone other than me is even interested in something this.\n\nThoughts?\n\n--\nfREW Schmidt\nhttp://blog.afoolishmanifesto.com\n"},{"id":"168372","messageId":"4DD78DEE.5060206@drmicha.warpmail.net","threadId":"27420","inReplyTo":"BANLkTi=OHfHaHE86z8Ufj44J+Oxu8ec5ug@mail.gmail.com","subject":"Re: git-svn feature idea","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-05-21T10:03:26Z","receivedAt":"2011-05-21T10:03:26Z","isPatch":false,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"fREW Schmidt venit, vidit, dixit 21.05.2011 05:41:\n> Hey guys,\n> Lately I've been doing a lot of permanent subversion to git\n> conversions, and I keep running into braindead repo structures that\n> give me pain to export.  The main one is this:\n> \n> trying to check out MyProject:\n> \n> trunk/MyProject\n> trunk/OtherProject\n> tags/MyProject-1.0\n> tags/MyProject-1.1\n> tags/OtherProject-1.0\n> \n> So you see I can't just specify to git-svn that tags is the tags dir.\n> I know a workaround (check out each tag separately and then use git\n> fetch to put them all in the same repo) but that's really inefficient.\n> \n> So really what would be great would be to be able to do the following:\n> \n> git svn clone $repo --trunk=trunk/MyProject --tag=tags/MyProject-1.0\n> (and --branch would be great too)\n> \n> Anyway, I am fairly well versed with perl, so I could try my hand at\n> writing such a feature, but I wouldn't really know where to start or\n> if anyone other than me is even interested in something this.\n\nIf you scroll down to the config section in git-svn(1) you will find\nthat you can use things like this:\n\nfetch = trunk/MyProject:refs/remotes/foo/trunk\ntags = tags/MyProject-*:refs/remotes/foo/tags/*\n\nI seem to remember you can even specify these as arguments to -t and\nsuch but haven't checked.\n\nUh. Wait. We allow only .../*/... and .../* on the left hand side, at\nleast per the doc. So, you could either use the existing variant\n\ntags = tags/{MyProject-1.0,MyProject-1.}:refs/remotes/foo/tags/*\n\nor use your perl foo and lift the /*/ requirement.\n\nMichael\n"}]}