Version 12 vs 40
Version 12 vs 40
Content Changes
Content Changes
Migration from GIT
===============
This method can be used when your repository 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
```
6. Wait until all the commits are parsed by phabricator to be available on the web interface (rate of import = 1000 commits/hour)
Migration from SVN
===============
* You can either migrate from SVN to GIT (preferred), or SVN to SVN
## SVN to GIT
TODO using https://github.com/nirvdrum/svn2git
## SVN to SVN
TODO
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 GIT
===============procedure, there's also a script to automate the migration, see [[c4science/migration-script]]
This method can be used when your repository 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>
```
git remote rename origin old-origin2) 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 remote add origin ssh://git@c4science.ch:2222/diffusion/77/scitas-benchmarks.git```
git remote rm old-originsvn clone https://svn.epfl.ch/svn/<repo name>/ --username <gaspar> --trunk /
```
5. Push everything to* Create a GIT repo on c4science and set upstream to origin
* Add the remote to your new git repository
```
cd <repo name>
git push --all --set-upstream originremote add origin https://c4science.ch/code/<new repo>
git push --tagorigin master
```
6. Wait until all the commits are parsed by phabricator to be available on the web interface (rate of import = 1000 commits/hour)== SVN to SVN ==
Migration from 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 either migrate from SVN to GIT (preferred), or SVN to SVN
## SVN to GIT
TODO using https://github.com/nirvdrum/svn2git- You can now checkout the new URL on your machine
```
svn checkout svn+ssh://git@c4science.ch/diffusion/<ID>/ myrepo
```
## SVN to SVN= Service accounts =
TODO
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