[(#SET{lesmaj,#ARRAY})]
#!/bin/bash
# On stocke les variables d'environnement
url_svn=$URL_SVN
url_local=$URL_WORKING_COPY
# On met à jour le dépôt local des plugins
cd ${url_local}
svn up ${url_local}
[(#SET{plugin,[(#ARRAY{prefixe,[(#VALEUR{prefixe})],titre,[(#VALEUR{titre})],statut,[(#VALEUR{statut})], version,[(#VALEUR{version})]})]})]0} {0,1} {si (#GET{plugin/statut}|=={dist}|non)}>[(#VERSION|=={#_plugins_site:GET{plugin/version}}|non)[(#SET{lesmaj,[(#GET{lesmaj}|push{[(#_plugins_site:GET{plugin/titre})] \([(#PREFIXE)] [(#_plugins_site:GET{plugin/version})] -> [(#VERSION)]\)})]})]]
# Branche [(#_principale:LOGICIEL_NOM)] [(#_principale:LOGICIEL_VERSION|version2branche)]
cd ${url_local}[(#PREFIXE|strtolower)]
if [[ -d "tags/v[(#_plugins_site:GET{plugin/version})]" ]]; then
echo "Le tag v[(#_plugins_site:GET{plugin/version})] du plugin ['(#GET{plugin/titre})'] existe déjà. Le plugin n'a pas besoin d'être mis à jour sur la zone."
else
svn cp ${url_svn}[(#PREFIXE|strtolower)]/branches/v[(#_plugins_site:GET{plugin/version}|explode{'.'}|table_valeur{0})] ${url_svn}[(#PREFIXE|strtolower)]/tags/v[(#_plugins_site:GET{plugin/version})] -m "On pose un tag pour ['(#GET{plugin/titre})'] v[(#GET{plugin/version})]"
svn up
cd ${url_local}[(#PREFIXE|strtolower)]/branches
curl -LOk [(#URL_ARCHIVES)/#_paquet_meme_branche:NOM_ARCHIVE]
unzip [(#_paquet_meme_branche:NOM_ARCHIVE)]
folder=$(zipinfo -1 [(#_paquet_meme_branche:NOM_ARCHIVE)] | head -n 1)
rsync -avz --delete "$folder"/ "v[(#_plugins_site:GET{plugin/version}|explode{'.'}|table_valeur{0})]/"
rm -rf [(#_paquet_meme_branche:NOM_ARCHIVE)] "$folder"/
svn st
for new_element in $(svn st | grep "^?" | cut -c9-); do
svn add ${new_element};
done;
for delete_element in $(svn st | grep "^!" | cut -c9-); do
svn delete ${delete_element};
done;
svn ci -m "Mise à jour du plugin ['(#GET{plugin/titre})'] en v[(#_paquet_meme_branche:VERSION)]"
fi
svn up ${url_local}
- #VALEUR