©
. Document créé le 8 janvier 2011 , mis à jour le 25 janvier 2011.Savoir où l'on veut aller, c'est très bien. Mais il faut encore montrer qu'on y va. Emile Zola
Accueil du site > Astuces > Unix > Sauvegarder et restaurer une base SVN
Objectif : déménagement de machine. La sauvegarde du dépôt svn s’impose pour sa restauration sur un nouveau serveur. Pas à pas.
Sauvegarder le dépôt :
svnadmin dump repos > repos_ancienne_machine-20110107.asc
L’extension .asc a été ajoutée ici pour plus de clarté. Sa présence n’est pas obligatoire.
Recopier la sauvegarde sur le nouveau serveur (noter le ’ :’ en de ligne) :
scp repos_ancienne_machine-20110107.asc monlogin@nouvelle_machine.foo.bar:
Le chemin choisi pour cet exemple est /var/svn.
Si besoin, créer le nouveau dépôt sur la nouvelle machine :
cd /var/svn
svnadmin create repos
Restaurer la sauvegarde dans le nouveau dépôt :
cd /var/svn
svnadmin load repos < repos_ancienne_machine-20110107.asc
Vérifier le nouveau dépôt (liste les révisions restituées) :
svnadmin verify repos
Seul la base de données (repos/db) est modifiée par cette restauration. Les fichiers de configuration de ce nouveau dépôt ne sont pas restaurés. Si besoin, recopier ici les fichiers de configuration de l’ancien dépôt.
Les fichiers de configuration sont dans le répertoire repos/conf.
A vérifier également : les droits d’accès au dépôt. L’ensemble doit appartenir à l’utilisateur svn et à son groupe. Dans le doute, appliquer un droit d’accès global pour ce dépôt via, par exemple :
chown -fR svn:svn repos
Vérifier le fichier /etc/rc.conf. Il doit préciser le chemin de ce nouveau dépôt :
svnserve_enable="YES"
svnserve_flags="-d"
svnserve_data="/var/svn/repos"
svnserve_user="svn"
svnserve_group="svn"
Redémarrer le serveur :
/usr/local/etc/rc.d/svnserve restart
Lister les répertoires disponibles dans ce nouveau dépôt, ici via le réseau :
svn ls svn://localhost
A lire si besoin :
Les forums sont fermés.