Mise à jour du dépôt svn après migration

mardi 2 novembre 2010
par  Franck Pérignon

Cet article vous concerne si vous utilisiez svn dans votre projet avant la
migration du 27 octobre de ljkforge.imag.fr vers forge.imag.fr.

Dans ce cas, vous avez en local un dépot de votre projet, que nous appellerons toto (le projet et le dépôt).

Les commandes :

cd toto
svn info

vous indiquent entre autres que l’url de référence ressemble à quelquechose comme :

svn+ssh ://votre_login@scm.ljkforge.imag.fr/svnroot/toto

Vu que l’url est maintenant
svn+ssh ://votre_login@scm.forge.imag.fr/scmrepos/svn/toto

toute tentative de commit, update ou autre sera vaine.

Deux solutions pour résoudre ce problème :

Option 1 : refaire un check-out complet du projet ailleurs et copier à la main les fichiers que vous auriez éventuellement modifié dans votre dépôt local pendant la migration.

Soit :

cd nouveau-dossier
svn checkout svn+ssh://votre_login@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/svn/toto/trunk toto

puis copie de vos modifs. (ATTENTION : ne pas copier les répertoires .svn présents dans tous les sous dossiers de votre ancien toto ...)

Option 2 : exporter votre dépôt local puis le copier dans le nouveau :

cd toto
svn export . ~/temp/ancien-toto

cette commande a pour résultat de copier le contenu de toto (y-compris vos éventuelles modifs sur les fichiers versionnés) vers ancien-toto.

Ensuite on récupère la nouvelle version du dépôt et on transfère les modifs de l’ancient toto ...

cd ~/nouveau-dossier
svn checkout   svn+ssh://votre_login@scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/svn/toto/trunk toto
cd toto/trunk
cp -rp ~/temp/ancien-toto/* .

Un svn status devrait faire apparaître vos modifs.

Voila ...
Pour ma part je conseille l’option 1 ...

Remarque : dans la nouvelle version ce qui était auparavant à la racine du dépôt est maintenant dans un répertoire trunk.


Navigation

Articles de la rubrique