Bonjour,
j'ai songé à une alternative à la méthode actuelle en shell :
Actuellement toutes les demi-heures, un svn info est fait sur tous les
éléments à archiver (puis des accès disques, etc..). Est-ce qu'il ne
suffirait pas de simplement parser les diffs fournis par Trac, entre
la version de tête et la dernière version utilisée pour le calcul des
zip ?
Ca donne ça :
http://trac.rezo.net/trac/spip-zone/changeset?format=diff&old=8354&new=8377&new_path=%2F&old_path=%2F
Ca interroge uniquement la base sqlite, et retourne l'ensemble des
fichiers modifiés en un seul appel.
Ensuite, sur la base des lignes commençant par +++, en comparant avec
le fichier qui liste les répertoires à archiver, c'est simplicime de
trouver les archives à mettre à jour.
A mon avis, ce serait nettement moins gourmant en ressources et ça ne
monopoliserait pas svn (qui n'a pas l'air de gérer le multithread,
d'après un dernier post)
Qu'en pensez-vous ?
.Gilles
----
2007/1/4, bertrand@toggg.com <bertrand@toggg.com>:
Author: bertrand@toggg.com
Date: Thu Jan 4 08:22:21 2007
New Revision: 8477Log:
Avec eval , ca marche , pas compris pourquoi y en a besoin la et pas dans paquet-unique ou paquet-version ... a suivre paquet-version en double a eliminerModified:
_dev_/bin_svn/paquets-zone.shModified: _dev_/bin_svn/paquets-zone.sh
--- _dev_/bin_svn/paquets-zone.sh (original)
+++ _dev_/bin_svn/paquets-zone.sh Thu Jan 4 08:22:21 2007
@@ -94,8 +94,9 @@
arc=${arc:=${rep##*/}}
nam=${nam:=$arc}
echo '<zone_elt>' >> $paqxml
- $paquetversionsh $rev "$oritruc/$rep" >> $paqxml
- echo "<archivelist>$rep;$arc;$nam</archivelist>" >> $paqxml
+ svnversion=$(eval "$paquetversionsh$rev $oritruc/$rep")"
+ <archivelist>$rep;$arc;$nam</archivelist>"
+ echo $svnversion >> $paqxml
echo '</zone_elt>' >> $paqxml
if [ -s "$destruc/$arc.zip" ] \
&& [ "$destruc/$arc.zip" -nt "$oritruc/$rep/.svn/entries" ]
@@ -103,7 +104,8 @@
echo "$rep =="
else
export PQ_TRAC
- $paquetunique $rev "$oritruc/$rep" "$destruc/$arc" "$nam" "$temp" "$rul"
+ paquni=$(eval "$paquetunique$rev $oritruc/$rep $destruc/$arc $nam $temp $rul")
+ echo $paquni
fi
fi
done_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit