(.*?),', join('',$out), $r)) { $old_src = $r[1]; } else { // ancien format $entries = join("\n", file($entries)); if (!preg_match(',\surl="([^"]+)",', $entries, $r)) return "fichier .svn/entries non conforme ou illisible"; $old_src = $r[1]; } // Switch ? if ($old_src != $src) { $command[] = "switch --relocate $old_src/ $src/ $dest/"; } // Update else { if ($rev) $command[] = "update --revision $rev $dest/"; else $command[] = "update $dest/"; } } //execute les commandes svn if ($command) { //tableaux de résultat $out = array(); $out_local = array(); //parcours les commandes demandées foreach ($command as $cmd ) { //redéfini la commande complétement //$cmd_exec = _SVN_COMMAND." $user ".$cmd; $cmd_exec = _SVN_COMMAND." $user ".$cmd; //execute la commande et sauve le resultat dans local_out exec($cmd_exec,$local_out); //rappelle la commande executée //$cmd_aff = _SVN_COMMAND.$cmd; $cmd_aff = _SVN_COMMAND.$cmd; array_unshift($local_out, $cmd_aff); //empile le resultat local à la sortie finale $out = $out + $local_out; } return $out; } } function traiter_config_svn($config = array()) { foreach($config as $l) { // ne pas afficher l'identification eventuelle $aff = explode(' ',htmlspecialchars($l)); while (count($aff)>3) array_pop($aff); $aff = implode(' ',$aff); echo "
", $aff, ""; $res = update_svn($l); if (is_string($res)){ include_spip('inc/charsets'); $res = importer_charset($res); echo "
Erreur: ", htmlspecialchars($res), ""; } if (is_array($res)){ include_spip('inc/charsets'); $res = importer_charset(join("\n", $res),'iso-8859-1'); echo "
".nl2br(htmlspecialchars($res)); } echo "
\n"; } } ?>