2021-10-26 08:44:35 +00:00
|
|
|
USER'S QUICK REFERENCE
|
|
|
|
----------------------
|
2021-10-25 18:38:23 +00:00
|
|
|
|
|
|
|
CHECKOUT A REPO (on the user local PC)
|
|
|
|
--------------------------------------
|
|
|
|
|
|
|
|
svn co https://svn.barcelli.net/svn/myrepo #checkout the whole repo
|
|
|
|
svn co https://svn.barcelli.net/svn/myrepo/trunk #checkout the trunk
|
|
|
|
svn co https://svn.barcelli.net/svn/myrepo/branches/my-branch #checkout a branch
|
|
|
|
|
|
|
|
|
|
|
|
CREATE A NEW BRANCH (on the user local PC)
|
|
|
|
------------------------------------------
|
|
|
|
|
|
|
|
svn cp https://svn.barcelli.net/svn/myrepo/trunk \
|
|
|
|
https://svn.barcelli.net/svn/branches/my-branch \
|
|
|
|
-m'Create a privante branch of /myrepo/trunk'
|
|
|
|
|
|
|
|
|
2021-10-26 08:44:35 +00:00
|
|
|
|
|
|
|
ADMINISTRATOR'S QUICK REFERENCE
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
PROVIDE ACCESS (Users will have access to all repositories in the server)
|
|
|
|
-------------------------------------------------------------------------
|
|
|
|
|
|
|
|
sudo htpasswd -m /etc/apache2/dav_svn.passwd user1
|
|
|
|
|
|
|
|
|
|
|
|
CREATE A NEW REPOSITORY (on the server by the administrator)
|
|
|
|
------------------------------------------------------------
|
|
|
|
|
|
|
|
sudo svnadmin create /var/www/svn/myrepo
|
|
|
|
sudo chown -R www-data:www-data /var/www/svn/myrepo
|
|
|
|
sudo chmod -R 775 /var/www/svn/myrepo
|
|
|
|
|
|
|
|
|
2021-11-15 08:31:26 +00:00
|
|
|
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
|
|
|
|
|
2021-10-26 08:44:35 +00:00
|
|
|
|
2021-10-25 18:38:23 +00:00
|
|
|
REFERENCES
|
|
|
|
----------
|
|
|
|
|
|
|
|
https://svnbook.red-bean.com/en/1.7/index.html #Version Control with Subversion
|
|
|
|
https://subversion.apache.org/docs/ #Subversion official documentation
|
|
|
|
|