Sauvegarder ses sources dans Subversion c’est bien mais si le serveur de source crache vous allez perdre tous l’historique. Mais depuis la version 1.4 de Subversion grâce à la commande svnsync on peut répliquer un dépot.
Sur la machine qui jouera le rôle d’esclave on va créer un nouveau dépot :
svnadmin create backupnoplay
Dans le répertoire backupnoplay/hooks on va créer deux hooks qui autoriseront uniquement l’utilisateur syncuser à réaliser les backup :
#!/bin/sh
USER="$3"
if [ "$USER" = "syncuser" ]; then exit 0; fi
echo "Only the syncuser user may change revision properties" >&2
exit 1
#!/bin/sh
USER="$3"
if [ "$USER" = "syncuser" ]; then exit 0; fi
echo "Only the syncuser user may change revision properties" >&2
exit 1
Mettez les droits d’exécution sur les deux fichier
Initialisez svnsync avec la commande :
svnsync init --username syncuser file:///var/svn/backupnoplay/ ADRESSE_DU_SVN_A_REPLIQUER
svnsync synchronize file :///var/svn/backupnoplay/
Pour vérifier que la sauvegarde fonctionne bien il suffit d’extraire une copie du dépot Subversion.
svn co file:///var/svn/backupnoplay/ /tmp/testbackup