I have a flat svn repository which looks like:
my_repo/
├── file1.c
├── file2.c
├── file3.c
└── README
This repo has no branches, or tags and all I am trying to do is convert it to a git repository and maintain the commit history.
I have tried:
git svn clone --trunk=/ -A users.txt svn+ssh://[email protected]/projects/my_repo dest_dir
Which I assumed would work, however, when I navigate into dest_dir
and perform git svn fetch
, it doesn't seem to fetch anything. Using git log
yields:
fatal: bad default revision 'HEAD'
If I use svn checkout svn+ssh://[email protected]/projects/my_repo
it returns:
A my_repo/file1.c
A my_repo/file2.c
A my_repo/file3.c
A my_repo/README
Checked out revision 57.
So the repository is alive and accessible.
I have tried various tools including subgit
which was giving me this error: svn: E170003: 'stat' not implemented
and I think this is because the server hosting the repository is using an old version of subversion. I have no control over the server so cannot perform an update.
I have also tried using the svn2git
, using the command
svn2git svn+ssh://[email protected]/projects/my_repo --rootistrunk -authors users.txt --verbose
but this was giving me another error:
E: 'svn+ssh:/[email protected]/projects/my_repo' is not a complete URL and a separate URL is not specified command failed
This stumped me, and I've no idea why it's not working. Basically I was wondering how I go about turning my svn repo into a git repo while maintaining the history. Hope someone can help me out, or point me in the right direction. Never realised it would be so difficult to transfer this simple repo to git!
Thanks
git svn clone
didn't give an error? It should have worked. In addition, aftergit svn clone
, if you go inside the directory and dogit svn fetch
, what happens? – Jamboreesvnsync
utility to fetch all SVN revisions to your local machine and then try importing this local repository to Git. – Patriciate