简体   繁体   中英

Migrating from SVN multi-repo to GIT

I'm total newbie in git-svn bridge and faced a task to migrate from SVN repo to GIT. SVN structure looks really terribly:

root
  base
    server
      core
         branch
         tags
         trunk
      webapp
         branch
         tags
         trunk
       ....
    client
      core
         branch
         tags
         trunk
      ....
    ....
  ....

As a "talented svn migrate-master", I executed git svn clone ..../root and cloned the whole repository. I have no branches visible to GIT:

$ git branch -a * master remotes/git-svn

I can easily navigate to root-base-server-core-branch-my-awesome-branch and it looks like regular folder.

How to continue svn2git conversation? Looks like I should start from scratch but cloning this evil took one week and I don't want to wait again...

You have multiple svn projects in that repo. Do you want to combine them in git? You may want to look into making a separate git repository for client, core and webapp.

Look into git svn clone's --branches , it can take multiple wildcards, which you may need with that terrible svn structure. Something like --branches=*/*/*/*/branch/*

You can also use multiple --branches as in --branches=coked/out/path/branch/* --branches=totally/messed/up/path/branches/*

From the help:

 -T<trunk_subdir>, --trunk=<trunk_subdir>, -t<tags_subdir>, --tags=<tags_subdir>, -b<branches_subdir>, --branches=<branches_subdir>, -s, --stdlayout These are optional command-line options for init. Each of these flags can point to a relative repository path (--tags=project/tags) or a full url (--tags=https://foo.org/project/tags). You can specify more than one --tags and/or --branches options, in case your Subversion repository places tags or branches under multiple paths. The option --stdlayout is a shorthand way of setting trunk,tags,branches as the relative paths, which is the Subversion default. If any of the other options are given as well, they take precedence.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM