On Wednesday, April 22, 2015 at 7:37:32 PM UTC+2, Андрей Турбанов wrote: > > Hello. > > I am trying to clone svn repository. > This repo has standart svn layout: trunks/branches/tags. > But there are some *non-project* related tags in tags directory. > > my-super-tool > trunk > branches > tags > my-super-tool-1.0 > my-super-tool-2.0 > my-super-tool-3.0 > PC_sec-1.0 > PC_sec-1.1 > PC_sec-1.2 > PC_trd-1.2 > PC_trd-1.2 > ... > > I want to clone with only *my-super-tool-** tags > What I tried: > git svn clone --trunk trunk --branches branches --tags tags/my-super-tool-* > git svn clone -s --ignore-paths=tags/PC_* > > > First doesn't work: git-svn is unable to accept mask for tags > Seconed doesn't work too: git-svn clones this tags anyway >
First of all, you're not using regular expressions to express the ignore paths. Quoting the git-svn man page: --ignore-paths=<regex> > This allows one to specify a Perl regular expression that > will cause skipping of all matching paths from checkout from > SVN. The --ignore-paths option should match for every fetch > (including automatic fetches due to clone, dcommit, rebase, > etc) on a given repository. > config key: svn-remote.<name>.ignore-paths > If the ignore-paths configuration key is set, and the > command-line option is also given, both regular expressions will > be used. > Examples: > Skip "doc*" directory for every fetch > --ignore-paths="^doc" > > Skip "branches" and "tags" of first level directories > --ignore-paths="^[^/]+/(?:branches|tags)" Try using finding some examples of regular expressions used with git-svn, and try that out. Example: --ignore-paths='^(?!directory-a|directory-b)' If there are too many things to exclude, also consider using the --include-paths option instead. Is it possible to clone this type of svn repo? > May be with some hack/workaround (I tried to hack git svn sources, but I'm > not an expert with perl)? > Where can I add feature request for ability to use mask/regex for branches > and tags? > It's been a while since I worked with git-svn, so I can only confirm that it is non-trivial to ignore paths from being included in the clone like you want. I believe your case should be possible, but there's always the chance of bugs, depending on your version of Git, platform, etc etc. You can also consider just doing a full clone without ignoring, and after that manually tidy up and delete branches that you don't want to keep. If no-one here can answer you directly (alas, I lack the time to research myself), you should ask on the Git developer's mailing list, and please include mention of similar questions in the past: * http://comments.gmane.org/gmane.comp.version-control.git/197219 * http://comments.gmane.org/gmane.comp.version-control.git/166255 Here's are some instructions recommended for those writing to the Git list for the first time: https://gist.github.com/tfnico/4441562 If all else fails, there are other tools than git-svn that can convert complicated layouts. See for example http://www.catb.org/esr/reposurgeon/reposurgeon.html -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.