Version 23 vs 40
Version 23 vs 40
Edits
Edits
- Edit by aubort, Version 40
- Aug 31 2017 13:05
- Edit by • rezzonico, Version 23
- Mar 14 2017 13:05
Edit Older Version 23... | Edit Current Version 40... |
Content Changes
Content Changes
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 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
```
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
= Migration from SVN =
* You can either migrate from SVN to GIT (preferred), or SVN to SVN
== SVN to GIT ==
You can use the [[ https://github.com/nirvdrum/svn2git | svn2git ]] utility.
== SVN to SVN ==
**The following only works if the SVN repository is world-readable:**
- [[ c4science/simplerepo/ | Create a subversion repository ]]
- On the management page before activating the repository go in URIs (on the left panel). In the image below, we migrate the hpc-grid svn repository.
- Add an URI that is the repository to import and select `Observe` as an `I/O Type`
{F780307}
- Activate the repository, this will start the import of data.
- Once it is done, edit the URI you added previously to change the `I/O Type` to `No I/O`. You can also change the Display Type to `Hidden`
**The following is a bit trickier and requires the usage of svnadmin, but works in all cases**
= 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 ]].
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 ]].
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 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. Switch the remote origin
Push everything to c4science, replace <URI> with the new c4science URI, for example `ssh://git@c4science.ch/diffusion/PHTEST/test.git`
```
git remote rename origin old-originpush --all <URI>
git remote add origin ssh://git@c4science.ch:2222/diffusion/77/scitas-benchmarks.gitpush --tags <URI>
```
5. Push everything to c4science and set upstream to origin
```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 push --all --set-upstream origin```
git push --tagclone <URI>
```
6. Wait until all the commits are parsed by phabricator to be available on the web interface
= Migration from SVN =
* You can either migrate from SVN to GIT (preferred), or SVN to SVN
== SVN to GIT ==
You can use the [[ https://github.com/nirvdrum/svn2git | svn2git ]] utility.WARNING: This procedure has been tested in specific case, please know what you're doing
== SVN to SVN ==* 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
```
**The following only works if the== SVN repository is world-readable:**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>
- On the management page before activating the repository go in URIs (on the left panel). In the image below, we migrate the hpc-grid svn repository.svnsync sync svn+ssh://git@c4science.ch/diffusion/<ID>/
- Add an URI that is the repository to import and select `Observe` as an `I/O Type`
{F780307}
- Activate the repository, this will start the import of data.```
- Deactivate Dangerous Changes
- You can now checkout the new URL on your machine
```
- Once it is done, edit the URI you added previously to change the `I/O Type` to `No I/O`. You can also change the Display Type to `Hidden`
**The following is a bit trickier and requires the usage of svnadmin, but works in all cases**
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 ]].
c4science · Help