Re: Quelques questions à propos de svn.re vision
James <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CAE50Zk5QiZYBA3fjQZJEC7bd5dHt1o3Gw1-V30xJm8ttC7_RUg@mail.gmail.com> |
Hop aussi, Le patch qui accompagne ma réponse permet de faire les 2, chercher Last Changed Rev: ou Revision:, dans cet ordre. Ainsi, un paquet produit "à l'ancienne" renverra la réponse attendue et un paquet produit avec un svn info > svn.revision aussi. Ceci permettra, soit de simplifier smart_paquets, soit d'essayer le script que j'ai proposé sur la zone aujourd'hui. Si quelqu'un trouve à redire, on oublie. Sinon, je commit :-) ++ itou Le 21 avril 2016 à 11:06, Bruno Bergot <[email protected]> a écrit : > Hop, > > Le 10/04/2016 15:25, James a écrit : > >> Salut, >> >> J'essaie de comprendre pourquoi le fichier svn.revision généré quand un >> paquet (spip ou plugin apparement) est fabriqué est si compliqué. C'est du >> xml qui double les propriétés récupérée d'un `svn info` si je comprends >> bien, dans une balise <svn_revision><text_version / > et dans des >> propriétés <svn_revision><prop>valeur</prop> ... >> >> Hors, mais je peux encore une fois, avoir raté un truc, il n'y a que dans >> spip (ecrire/inc/filtre.php:version_svn_courante()) que la chaine >> 'Revision: *' est exploitée. >> >> à quoi sert ce formalisme ? J'ai l'impression qu'un `svn info > >> svn.revision` suffirait amplement. >> >> > Ces fichiers sont générés par la fonction suivante : > > > http://zone.spip.org/trac/spip-zone/browser/_outils_/smart_paquets/inc_outils.php#L131 > > Le commentaire indique qu'ils permettent à SPIP d'afficher le numéro de > version du paquet dans l'interface privée à l'aide de la fonction que tu > pointais, version_svn_courante(). > > Ensuite, le log de commit suivant ne me permet pas de te dire pourquoi on > utilise du xml... ^^ > > http://zone.spip.org/trac/spip-zone/changeset/30671 > > ++ > b_b > -- James
svnrevision.patch
(application/octet-stream, 792 B)
Index: ecrire/inc/filtres.php
===================================================================
--- ecrire/inc/filtres.php (revision 22988)
+++ ecrire/inc/filtres.php (working copy)
@@ -187,12 +187,14 @@
$dir = '.';
}
- // version installee par paquet ZIP
- if (lire_fichier($dir . '/svn.revision', $c)
- and preg_match(',Revision: (\d+),', $c, $d)
- ) {
- return intval($d[1]);
- }
+ // version installee par paquet ZIP
+ if (lire_fichier($dir . '/svn.revision', $c)) {
+ foreach (array('Last Changed Rev', 'Revision') as $key) {
+ if (preg_match(',^'.$key.': (\d+),m', $c, $d)) {
+ return intval($d[1]);
+ }
+ }
+ }
// version installee par SVN
if (file_exists($dir . '/.svn/wc.db') && class_exists('SQLite3')) {