Effectue le checkout svn d'une liste de repositories /Depots via un fichier distrib.txt
chmod +x checkout_distrib.sh
WORKING_DIR
- chemin depuis la racine
LISTE
- chemin du fichier distrib depuis la racine;
et du raccourcis définissant le dépot
mon_plugin/trunk;ZONE_PLUGINS
#!/bin/bash
WORKING_DIR='/Users/macbook/Sites/test_distrib/plugins/'
LISTE='/Users/macbook/Sites/test_distrib/plugins/distrib.txt'
#DEPOTS
# Raccourcis pour les urls des racines de dépots
#JANGOO='svn://un_certain_depot.net/mistergraphx/jangoo_plugins/'
ZONE_PLUGINS='svn://zone.spip.org/spip-zone/_plugins_/'
#PUBLIC='svn://un_depot_par_defaut.net/spip_plugin/public_plugins/'
cat <<EOF
CHECKOUT SPIP DISTRIB :
-----------------------
SOURCES :
http://www.cyberciti.biz/faq/unix-linux-bash-read-comma-separated-cvsfile/
[ETAT] : DEV :
Parcours le fichier distrib.txt situé dans LE répertoire
définie par working_dir.
Structure du fichier distrib :
plugin;depot (raccourcis : ZONE_PLUGINS,PUBLIC)
/!\ ATTENTION !! /!\
* Retour a la ligne sur la dernière ligne du fichier
sinon le dernier plugin n'est pas pris en compte
* Pas de Commentaires # ...
Config actuelle :
Dossier de travail : ${WORKING_DIR}
Liste des plugins : ${LISTE}
[1] Lancer le checkout
[q] quitter
EOF
cd ${WORKING_DIR}
echo -n "Choix : "
read options
case $options in
1)
INPUT=${LISTE}
OLDIFS=$IFS
IFS=$';'
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read plugin depot
do
if [[ $depot == 'JANGOO' ]] ; then
url=${JANGOO}
elif [[ $depot == 'ZONE_PLUGINS' ]] ; then
url=${ZONE_PLUGINS}
else
url=${PUBLIC}
fi
svn checkout "$url/$plugin/" $plugin
done < $INPUT
IFS=$OLDIFS
exit
;;
q)
echo "Bye !!! ${USER_NAME}"
exit 143
;;
esac
exit 1
z-core/trunk;ZONE_PLUGINS
yaml;ZONE_PLUGINS
verifier;ZONE_PLUGINS
spip-bonux-3;ZONE_PLUGINS
saisies/trunk;ZONE_PLUGINS
facteur/trunk;ZONE_PLUGINS
ieconfig/trunk;ZONE_PLUGINS
menus/trunk;ZONE_PLUGINS
en_travaux/trunk;ZONE_PLUGINS