Version 2 vs 40
Version 2 vs 40
Edits
Edits
- Edit by aubort, Version 40
- Aug 31 2017 13:05
- Edit by • rezzonico, Version 2
- Apr 6 2016 16:45
Edit Older Version 2... | Edit Current Version 40... |
Content Changes
Content Changes
Migration from GIT, master branch only
1. Create repo in c4science
2. 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
```
3. 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 checkout master
git push -u origin master
git remote rm old-origin
```
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, there's also a script to automate the migration, master branch only
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. CreateYou can clone your repo in c4scienceository with the new URI
```
git clone <URI>
2.```
= 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, Clone repo from other GIT (ifplease know what you don't already have a local copy) and enter repo'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 cloneremote add origin https://rezzonic@git.epfl.ch/repo/scitas-benchmarks.gitc4science.ch/code/<new repo>
cd scitas-benchmarksgit 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
3.- Activate "Allow Dangerous Changes"
- In your local computer, checkout the repository from svn.epfl.ch, Switchgo in the remote originnewly 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>
git remote rename origin old-originsvnsync sync svn+ssh://git@c4science.ch/diffusion/<ID>/
git remote add origin ssh://git@c4science.ch:2222/diffusion/77/scitas-benchmarks.git```
- Deactivate Dangerous Changes
git- You can now checkout mastert the new URL on your machine
git push -u origin master```
git remote rm old-originsvn 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