threads / discuss / 35284

git svn clone with funky tags layout

Subject: git svn clone with funky tags layout

## tl;dr

3 messages between Nov 5, 2013 and Nov 6, 2013.

replies: 2people: 2as markdown or json

Jim Garrison· Nov 5, 2013, 17:16 UTC · lore
I'm doing a one-time migration of an svn project.  For historical reasons our repo layout is weird:
    trunk/reporting/reporting_app
    tags/something_else
    ....
    tags/reporting_app-2.3.45
    tags/reporting_app-2.4.46
    tags/reporting_app-2.4.0
    tags/reporting_app-2.4.1
    ....
    tags/more_stuff
I want to migrate the trunk plus only the 2.4.* tags.  I tried giving a wildcard in the config
[svn-remote "svn"]
        noMetadata = 1
        url = http://subversion.tld.com/svn/DevJava
        fetch = trunk/Reporting/reporting_app:refs/remotes/trunk
        tags = tags/reporting_app-2.4.*:refs/remotes/tags/*
but this does not work:
    Invalid pattern in 'tags/reporting_app-2.4.*': reporting_app-2.4.*
On the off chance that it might work I also tried
            tags = tags/reporting_app-2.4.*:refs/remotes/tags/reporting_app-2.4.*
but that produces the same error message.
Is there a way to accomplish this or should I just move the tags I want to import into a separate directory in subversion first?  I'd rather not disturb svn but can do that if it's the only way.
Michael J Gruber· Nov 6, 2013, 14:02 UTC · re: Jim Garrison · lore

Re: git svn clone with funky tags layout

Jim Garrison venit, vidit, dixit 05.11.2013 18:16:
Show 33 quoted lines
> I'm doing a one-time migration of an svn project.  For historical reasons our repo layout is weird:
> 
>     trunk/reporting/reporting_app
> 
>     tags/something_else
>     ....
>     tags/reporting_app-2.3.45
>     tags/reporting_app-2.4.46
>     tags/reporting_app-2.4.0
>     tags/reporting_app-2.4.1
>     ....
>     tags/more_stuff
> 
> I want to migrate the trunk plus only the 2.4.* tags.  I tried giving a wildcard in the config
> 
> [svn-remote "svn"]
>         noMetadata = 1
>         url = http://subversion.tld.com/svn/DevJava
>         fetch = trunk/Reporting/reporting_app:refs/remotes/trunk
>         tags = tags/reporting_app-2.4.*:refs/remotes/tags/*
> 
> but this does not work:
> 
>     Invalid pattern in 'tags/reporting_app-2.4.*': reporting_app-2.4.*
> 
> On the off chance that it might work I also tried
> 
>             tags = tags/reporting_app-2.4.*:refs/remotes/tags/reporting_app-2.4.*
> 
> but that produces the same error message.
> 
> Is there a way to accomplish this or should I just move the tags I want to import into a separate directory in subversion first?  I'd rather not disturb svn but can do that if it's the only way.
> 
Depending on whether there are more tags to skip or more to include, you can

A) use the standard refspec (--tags=tags/) and remove the superfluous tag branches once git-svn is finished or

B) use multiple tag refspecs without wildcard:

tags = tags/reporting_app-2.4.0:refs/remotes/tags/2.4.0 tags = tags/reporting_app-2.4.1:refs/remotes/tags/2.4.1

I may have mixed up A and B ;)
Michael
Jim Garrison· Nov 6, 2013, 17:05 UTC · re: Michael J Gruber · lore

RE: git svn clone with funky tags layout

Show 58 quoted lines
> -----Original Message-----
> From: Michael J Gruber [mailto:git@drmicha.warpmail.net]
> Sent: Wednesday, November 06, 2013 6:03 AM
> To: Jim Garrison; git@vger.kernel.org
> Subject: Re: git svn clone with funky tags layout
> 
> Jim Garrison venit, vidit, dixit 05.11.2013 18:16:
> > I'm doing a one-time migration of an svn project.  For historical reasons
> our repo layout is weird:
> >
> >     trunk/reporting/reporting_app
> >
> >     tags/something_else
> >     ....
> >     tags/reporting_app-2.3.45
> >     tags/reporting_app-2.4.46
> >     tags/reporting_app-2.4.0
> >     tags/reporting_app-2.4.1
> >     ....
> >     tags/more_stuff
> >
> > I want to migrate the trunk plus only the 2.4.* tags.  I tried giving
> > a wildcard in the config
> >
> > [svn-remote "svn"]
> >         noMetadata = 1
> >         url = http://subversion.tld.com/svn/DevJava
> >         fetch = trunk/Reporting/reporting_app:refs/remotes/trunk
> >         tags = tags/reporting_app-2.4.*:refs/remotes/tags/*
> >
> > but this does not work:
> >
> >     Invalid pattern in 'tags/reporting_app-2.4.*': reporting_app-2.4.*
> >
> > On the off chance that it might work I also tried
> >
> >             tags =
> > tags/reporting_app-2.4.*:refs/remotes/tags/reporting_app-2.4.*
> >
> > but that produces the same error message.
> >
> > Is there a way to accomplish this or should I just move the tags I want to
> import into a separate directory in subversion first?  I'd rather not disturb
> svn but can do that if it's the only way.
> >
> 
> Depending on whether there are more tags to skip or more to include, you
> can
> 
> A) use the standard refspec (--tags=tags/) and remove the superfluous tag
> branches once git-svn is finished or
> 
> B) use multiple tag refspecs without wildcard:
> 
> tags = tags/reporting_app-2.4.0:refs/remotes/tags/2.4.0
> tags = tags/reporting_app-2.4.1:refs/remotes/tags/2.4.1
> 
> I may have mixed up A and B ;)
Thanks for the response. Since there was a lot of reorganization to be done I decided to just copy all the disparate directories into a new correctly structured  tree in svn first, and import from there.  Worked great.

← back to recent threads