Migration procedures for EPFL
Migration procedures for EPFL
This is the manual migration procedure, there's also a script to automate the migration, see Migration script for EPFL
Migration from GIT
- Add a public ssh key to your account (or a VCS password)
- Create repo in c4science
- Clone a fresh copy of the repository and enter the directory (even if you already have a local copy, this ensure all the remote branches are fetched)
cd /tmp # or any directory of your choice git clone --mirror https://rezzonic@git.epfl.ch/repo/scitas-benchmarks.git cd scitas-benchmarks.git
- Push everything to c4science, replace <URI> with the new c4science URI, for example ssh://git@c4science.ch/diffusion/PHTEST/test.git
git push --all <URI> git push --tags <URI>
- Wait until all the commits are parsed by Phabricator to be available on the web interface
- You can clone your repository with the new URI
git clone <URI>
Migration from SVN
- You can either migrate from SVN to GIT (preferred), or SVN to SVN
SVN to GIT
WARNING: This procedure has been tested in specific case, please know what you're doing
- Have GIT installed
- It depends on how your svn repository is organized,
- If there are trunk/branches/tags directories:
git svn clone https://svn.epfl.ch/svn/<repo name>/ --username <gaspar>
- If your repository starts at the root, you can also replace / with a directory in your repo, the final git repository will contain only this directory (you allow to split your SVN repository into multiple GIT repo for instance)
git svn clone https://svn.epfl.ch/svn/<repo name>/ --username <gaspar> --trunk /
- Create a GIT repo on c4science
- Add the remote to your new git repository
cd <repo name> git remote add origin https://c4science.ch/code/<new repo> git push origin master
SVN to SVN
- Create a subversion repository
- Be sure to have a SSH key configured (public ssh key)
- On the management page
- Activate the repository
- Activate "Allow Dangerous Changes"
- In your local computer, checkout the repository from svn.epfl.ch, go in the newly created directory
- Initialize and syncronize the repository with c4science using your new repository URL (change <ID> and <NAME> to match your repositories in c4science and svn.epfl.ch)
svnsync init svn+ssh://git@c4science.ch/diffusion/<ID>/ https://svn.epfl.ch/svn/<NAME> svnsync sync svn+ssh://git@c4science.ch/diffusion/<ID>/
- Deactivate Dangerous Changes
- You can now checkout the new URL on your machine
svn checkout svn+ssh://git@c4science.ch/diffusion/<ID>/ myrepo
Service accounts
If you are using service accounts for your git and svn repositories, you can either use ssh keys on c4science or you can ask for a bot user.
Tags
Subscribers
None
- Last Author
- aubort
- Last Edited
- Aug 31 2017, 13:05