Un première version du script : Permet de créer un zip d’un intervalle de révisions pour un export.
Il reste des améliorations à faire c’est sûr, mais aujourd’hui cela répond à mes besoins du moment !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/bin/sh # svndiff2zip.sh # Vérifications if [ ! $1 ];then echo "svndiff2zip : Pas de dépôt spécifié - obligatoire";exit;fi if [ ! $2 ];then echo "svndiff2zip : Pas de révision de début spécifiée - obligatoire";exit;fi if [ ! $3 ];then echo "svndiff2zip : Pas de révision de fin spécifiée - obligatoire";exit;fi if [ ! $4 ];then echo "svndiff2zip : Pas de destination spécifiée - obligatoire";exit;fi if [ -d $4 ];then echo "svnxport : le répertoire '$4' existe déjà : supprimer ou autre.";exit;fi echo "Processing : source($1), revision start($2), revision end($3), target_directory($4)" # Traitement for myfile in `svn diff -r $2:$3 --summarize $1 | grep -e '^M ' -e '^A ' -e '^AM '` do if [ "$myfile" = "M" -o "$myfile" = "AM" -o "$myfile" = "A" -o "$myfile" = "." -o -d $myfile ] then continue else outfile=`echo $myfile |sed "s|$1||g"` dir="$4/$outfile" mkdir -p $(dirname $dir) svn export --force $myfile $4/$outfile >> /dev/null echo "export $4/$outfile " zip -r "$4.zip" $4 >> /dev/null fi done |
Post a Comment