From 555c4ca52ff2b7511002ef2db61027260447fa5e Mon Sep 17 00:00:00 2001 From: kiko Date: Mon, 15 Nov 2021 08:31:26 +0000 Subject: [PATCH] Add instructions to migrate Git repos to SVN git-svn-id: https://svn.barcelli.net/svn/admin-svn@7 afa8f52d-f8fe-497e-b2ae-23cba056c779 --- readme.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/readme.txt b/readme.txt index 48292ca..79fa677 100644 --- a/readme.txt +++ b/readme.txt @@ -35,6 +35,38 @@ sudo chown -R www-data:www-data /var/www/svn/myrepo sudo chmod -R 775 /var/www/svn/myrepo +MIGRATING A REPO FROM GIT TO SVN +-------------------------------- + +You will need git-svn installed on your PC. + +1. Create an empty repo on the SVN server (ie. myrepo in the previous case) + +2. From your PC create an empty standard SVN structure on the repo: + svn mkdir https://svn.barcelli.net/svn/myrepo{trunk,branches,tags} + +3. Clone the SVN repo as GIT on your PC with a standard SVN layout: + git svn clone https://svn.barcelli.net/svn/myrepo --stdlayout + +4. Add the original GIT repo as a remote + cd myrepo #Change into the repo directory + git remote add origin https://path-to-your-old-git-repo.git + git fetch + +5. Create a local branch for the remote master with a different name (ie. old-master): + git checkout -b old-master origin/master + +6. While on the old-master local branch perform a rebase: + git rebase --onto master --root + +7. Push all the commits to the SVN repo: + git svn dcommit --add-author-from + + Now you have the full history of the GIT commits in the SVN repo on the SVN server. + +8. Going forward just freshly checkout the SVN repo and start working normally with SVN: + svn co https://svn.barcelli.net/svn/myrepo + REFERENCES ----------