Aide à la migration

Sur ces pages vous trouverez les informations et conseils pour migrer proprement un projet d'une autre forge (forge imag, github ...) vers gricad-gitlab

Quelques remarques pour commencer: sauf cas exceptionnel, il est malheureusement peu probable que vous puissiez tout transférer simplement et automatiquement d'une forge à une autre dans tous les cas il faudra créer un nouveau projet sur la plate-forme cible et ajouter à ce projet toutes les personnes concernées (qui devront donc au préalable s'être crée un compte). * votre connexion ssh devra être correctement configurée

Transfert d'un projet github vers gricad-gitlab

C'est très simple, il suffit de créer un nouveau projet sur gricad-gitlab.univ-grenoble-alpes.fr et de cliquer sur 'import project from GitHub' puis de suivre les instructions.

Transfert d'un projet gitlab.com vers gricad-gitlab

La fonctionnalité "import project from gitlab.com' n'est pas disponible dans la version "community edition".

Cependant le transfert du dépôt git est assez simple: il faut créer un nouveau projet, cliquer sur 'import project from Repo by URL' et suivre les instructions.

Transfert d'un projet forge.imag.fr

Il n'existe malheureusement pas de procédure automatique pour transférer un projet de forge.imag.fr vers gricad-gitlab.univ-grenoble-alpes.fr (ou vers gitlab, github etc .).

Dans tous les cas il faudra créer un nouveau projet sur gricad-gitlab et ajouter à ce projet toutes les personnes concernées.

La démarche à suivre va dépendre du gestionnaire de version utilisé sur forge.imag.fr et de ce que vous voulez transférer.

git (forge.imag) vers gricad-gitlab

Il faut dans un premier temps créer un nouveau projet sur gricad-gitlab.univ-grenoble-alpes.fr et ajouter à ce projet les anciens membres du projet forge.imag.

Ensuite, dans un terminal (copie de la commande affichée dans l'onglet SCM de votre projet sur forge.imag)

git clone git+ssh://FORGEIMAG_USERNAME@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/FORGEIMAG_PROJECT.git

en adaptant FORGEIMAG_USERNAME et FORGEIMAG_PROJECT.

C'est l'occasion de faire éventuellement un peu de tri et de nettoyage dans le dépôt:

cd FORGEIMAG_PROJECT
git gc --aggressive

Voir par exemple https://git-scm.com/docs/git-gc.

Puis, en supposant que le projet cible sur gricad-gitlab fasse partie du groupe GROUPNAME et se nomme PROJECT:

git remote rename origin origin-old
git remote add origin git@gricad-gitlab.univ-grenoble-alpes.fr:GROUPNAME/PROJECT.git
git push -u origin --all
git push -u origin --tags

Ce qui consiste à:

A noter que vous pouvez retrouver toutes ces dernières instructions sur la page d'accueil de tout nouveau projet sur gricad-gitlab.

svn (forge.imag) vers gricad-gitlab

Vous pouvez utiliser l'outil svn2git. L'installation et l'utilisation de ce soft sont détaillées sur la page web de svn2git. A noter qu'il existe une autre version de svn2git : svn-all-fast-export annoncée comme plus rapide mais que nous n'avons pas testé. (N'hésitez pas à utiliser la liste gricad-gitlab-help@univ-grenoble-alpes.fr pour partager vos éventuels retours d'utilisation).

Un exemple pour un projet sur la forge imag:

svn+ssh://USERNAME@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/svn/NOM_DU_PROJET/
root = root <root@nowhere.com>
username1 = PRENOM NOM <email>
username2 = PRENOM NOM <email>
...

à adapter bien évidement en fonction des noms, emails des différents utilisateurs. username == login sur forge.imag. Attention : ne pas modifier la première ligne (root = ...)

mkdir tmpgit
cd tmpgit
svn2git svn+ssh://fperignon@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/svn/paraviewplugin --metadata --authors ./authors.txt

Puis ajoutez le nouveau dépôt git (celui de gricad-gitlab) comme dépôt "remote". Pour cela, il suffit de copier ce qui est indiqué dans la partie "Existing git repository" sur la page d'accueil du projet nouvellement crée:

git remote add origin git@gricad-gitlab.univ-grenoble-alpes.fr:NOM_GROUPE/NOM_PROJET.git
git push -u origin --all
git push -u origin --tags

Listes de diffusion

Pas de transfert possible, celles-ci n'étant pas gérées sur gitlab. Il faut utiliser le service proposé par l'uga: https://listes.univ-grenoble-alpes.fr/sympa