Add instructions to migrate Git repos to SVN
git-svn-id: https://svn.barcelli.net/svn/admin-svn@7 afa8f52d-f8fe-497e-b2ae-23cba056c779
This commit is contained in:
parent
f990ab53f0
commit
555c4ca52f
32
readme.txt
32
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
|
||||
----------
|
||||
|
|
Loading…
Reference in a new issue