Version 8 vs 40
Version 8 vs 40
Content Changes
Content Changes
Migration from GIT, master branch only
============================
This method can be used when your repo only has one master branch.
1. Add a [[ https://c4science.ch/settings/panel/ssh/ | public ssh key ]] to your account (or a [[ https://c4science.ch/settings/panel/vcspassword/ | VCS password ]])
2. [[ https://c4science.ch/w/c4science/repo/ | Create repo in c4science ]]
3. Clone repo from other GIT (if you don't already have a local copy) and enter repo
```
git clone https://rezzonic@git.epfl.ch/repo/scitas-benchmarks.git
cd scitas-benchmarks
```
4. Switch the remote origin
```
git remote rename origin old-origin
git remote add origin ssh://git@c4science.ch:2222/diffusion/77/scitas-benchmarks.git
git remote rm old-origin
```
5. Push everything to c4science and set upstream to origin
```
git push --all --set-upstream origin
git push --tag
```
This is the manual migration procedure, there's also a script to automate the migration, see [[c4science/migration-script]]
= Migration from GIT =
1. Add a [[ https://c4science.ch/settings/panel/ssh/ | public ssh key ]] to your account (or a [[ https://c4science.ch/settings/panel/vcspassword/ | VCS password ]])
2. [[ c4science/simplerepo/ | Create repo in c4science ]]
3. 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
```
4. 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>
```
5. Wait until all the commits are parsed by Phabricator to be available on the web interface
6. 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,
1) If there are trunk/branches/tags directories:
```
git svn clone https://svn.epfl.ch/svn/<repo name>/ --username <gaspar>
```
2) 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 ==
- [[ c4science/simplerepo/ | Create a subversion repository ]]
- Be sure to have a SSH key configured ([[ https://c4science.ch/settings/panel/ssh/ | 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 [[ c4science/bot/ | ask for a bot user ]].
MThis is the manual migration from GITprocedure, master branch only
============================there's also a script to automate the migration, see [[c4science/migration-script]]
This method can be used when your repo only has one master branch.= Migration from GIT =
1. Add a [[ https://c4science.ch/settings/panel/ssh/ | public ssh key ]] to your account (or a [[ https://c4science.ch/settings/panel/vcspassword/ | VCS password ]])
2. [[ https://c4science.ch/w/c4science//simplerepo/ | Create repo in c4science ]]
3. Clone repo from other GIT (if you don'ta fresh copy of the repository and enter the directory (even if you already have a local copy) and enter repo, 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
```
4. 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>
```
5. Wait until all the commits are parsed by Phabricator to be available on the web interface
6. You can clone your repository with the new URI
git clone https://rezzonic@git.epfl.ch/repo/scitas-benchmarks.git```
cd scitas-benchmarksgit clone <URI>
```
= Migration from SVN =
* You can either migrate from SVN to GIT (preferred), or SVN to SVN
== SVN to GIT ==
4.WARNING: This procedure has been tested in specific case, Switch the remote originplease know what you're doing
* Have GIT installed
* It depends on how your svn repository is organized,
1) If there are trunk/branches/tags directories:
```
git svn clone https://svn.epfl.ch/svn/<repo name>/ --username <gaspar>
```
2) 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
```
git remote recd <repo name origin old-origin>
git remote add origin ssh://git@https://c4science.ch:2222/diffusion/77/scitas-benchmarks.git/code/<new repo>
git remote rm old-originpush origin master
```
== SVN to SVN ==
5.- [[ c4science/simplerepo/ | Create a subversion repository ]]
- Be sure to have a SSH key configured ([[ https://c4science.ch/settings/panel/ssh/ | 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, Push everything to c4science and set upstream to origingo 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
git push --all --set-upstream origin```
git push --tagsvn 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 [[ c4science/bot/ | ask for a bot user ]].
c4science · Help