# Steps to migrate from SVN to GitLab > This process worked for me. I take no responsibility for any damage or loss incurred as a result of following or not following these steps or, for that matter, anything else you might do or not do. ## Setup * SVN is hosted at `svn.domain.com.au`. * SVN is accessible via `http` (other protocols should work). * GitLab is hosted at `git.domain.com.au` and: * A group is created with the namespace `dev-team`. * At least one user account is created, added to the group, and has an SSH key for the account being used for the migration (test using `ssh git@git.domain.com.au`). * The project `favourite-project` is created in the `dev-team` namespace. * The file `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). ## Versions * subversion version 1.6.17 (r1128011) * git version 1.9.1 * GitLab version 7.2.1 ff1633f * Ubuntu server 14.04 ## Commands ````bash vi users.txt 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 list of projects in GitLab web UI and you will see `favourite-project` listed now, with all commits and files. ## Notes * If there are unknown users, the `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. * The standard `trunk`-`tags`-`branches` layout for SVN repository is required. * The SVN URL given to the `git svn clone` command stops at the level immediately above `trunk/`, `tags/` and `branches/`. * The `git svn clone` command produces a lot of output, including some warnings at the top; I ignored the warnings. ## References * http://stackoverflow.com/questions/79165/migrate-svn-repository-with-history-to-a-new-git-repository/3972103 * https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/import.md (this method didn't work for me) * https://github.com/gitlabhq/gitlabhq/issues/4137 (describes why the above didn't work) * https://github.com/gitlabhq/gitlab-shell/issues/32