I read the Git manual, FAQ, Git - SVN crash course, etc. and they all explain this and that, but nowhere can you find a simple instruction like:
SVN repository in: <
For GitLab users I've put up a gist on how I migrated from SVN here:
https://gist.github.com/leftclickben/322b7a3042cbe97ed2af
svn.domain.com.au
.http
(other protocols should work).git.domain.com.au
and:
dev-team
.ssh git@git.domain.com.au
).favourite-project
is created in the dev-team
namespace.users.txt
contains the relevant user details, one user per line, of the form username = First Last
, where username
is the username given in SVN logs. (See first link in References section for details, in particular answer by user Casey).bash
git svn clone --stdlayout --no-metadata -A users.txt
http://svn.domain.com.au/svn/repository/favourite-project
cd favourite-project
git remote add gitlab git@git.domain.com.au:dev-team/favourite-project.git
git push --set-upstream gitlab master
That's it! Reload the project page in GitLab web UI and you will see all commits and files now listed.
git svn clone
command will stop, in which case, update users.txt
, cd favourite-project
and git svn fetch
will continue from where it stopped.trunk
-tags
-branches
layout for SVN repository is required.git svn clone
command stops at the level immediately above trunk/
, tags/
and branches/
.git svn clone
command produces a lot of output, including some warnings at the top; I ignored the warnings.