Migrer un dépot SVN

Dans certains cas nous avons besoin de déplacer un dépôt svn entre deux serveurs. La manipulation est assez simple.

Migrer d’un serveur à l’autre

Bloquer l’accès

Pour commencer on bloque l’accès au dépôt le temps du transfert, on édite la ligne auth-access = none du fichier monprojet/conf/svnserve.conf.

Faire une copie de l’ancien dépôt

ancien-serveur# svnadmin dump /var/lib/subversion/monprojet > ~/monprojet.svndump

Pour information la commande est la même pour un serveur Windows ou Linux.

Créer le dépôt sur le nouveau serveur

nouveau-serveur# mkdir /var/lib/subversion/
nouveau-serveur# svnadmin create /var/lib/subversion/monprojet

Le chemin est à ajuster dans le cadre d’un serveur Windows.

Mettre à jour le nouveau dépôt

nouveau-serveur# svnadmin load /var/lib/subversion/monprojet < ~/monprojet.svndump

Configurer le nouveau dépôt

Les commandes svnadmin dump et svnadmin load ne prennent pas en charge la migration des comptes utilisateurs et des hooks.

comptes utilisateurs

Pour les comptes utilisateurs, ceci est simple il suffit de copier authz, passwd, svnserve.conf.
Les fichiers sont strucutrés de la même façon entre windows et Linux.

Hooks

Pour les hooks, cela dépends de vous. Si vous avez changé de système vous devrez mettre à jour vos script en conséquence. Autrement il suffira alors de copier les fichiers.

Lancer le serveur

Sur un serveur Linux, pour lancer le serveur svn :
nouveau-serveur# svnserve -d -r /var/lib/subversion/

Pour aller plus loin (par exemple initialisation au démarrage), je vous invite à lire le blog de paradoxal

Mettre à jour les clients SVN

Pour mettre à jour votre copie locale, l’option --relocate de svn switch est faîte pour.
svn switch --relocate svn://ancien.serveur.tld/monprojet svn://nouveau.serveur.tld/monprojet

Les clients comme tortoise propose dans le menu contextuel la commande relocate

Messages

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.