[(#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}
  1. #VALEUR