Search code examples
gitsvngit-svnrevision-history

Migrating from SVN to Git with non-standard svn layout (need full history)


I am trying to migrate an svn repo to git from this existing svn structure:

  • branches/
  • branches/d10
  • branches/R10

We do not have a Trunk in the clssical sense.

located at https://svn.mycompany.com/svn/project1/

I know this is the non stdlayout and I only really care about the R10 branch (the release branch). I have tried a few things and have made a authors file users.txt

If I do not specify a revision when doing the "git svn clone", I get checksum errors. Thus I was thinking my clone command should be:

git svn clone --authors-file=users.txt -r46982:HEAD https://svn.mycompany.com/svn/project1/ -T branches/R10

and this clones out fine but when I check the history, it only has the lastest commit and is missing most of the history. I have looked at MANY other tutorials online and Im not sure what I am missing. I appreciate any help I can get on this,


Solution

  • The lack of history came from me specifying -r46982:HEAD

    46982 was the HEAD Revision and so I was only cloning that revisions history.

    changing my command to -r1:HEAD would take years but simply jumping back a thousand revisions is adequate for this project.

    my new command is:

    git svn clone --authors-file=users.txt -r45982:HEAD https://svn.mycompany.com/svn/project1/ -T branches/R10

    I hope this helps someone else eventually. Funny how all it took was me posting a question here to see the error in my ways.