Réplication de dépots Subversion avec Svnsync

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.

#Initialisation de la réplication

  • 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:

-** Le fichier pre-revprop-change contiendra:

#!/bin/sh 

USER="$3"

if [ "$USER" = "syncuser" ]; then exit 0; fi

echo "Only the syncuser user may change revision properties" >&2
exit 1

-** Le fichier start-commit contiendra:

#!/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

#Lancer la réplication svnsync synchronize file:///var/svn/backupnoplay/

#Vérifier la réplication 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