Numéro de révision de la version SVN utilisée

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Numéro de révision de la version SVN utilisée

Message non lu par GM » sam. 20 oct. 2012, 08:39

Je lance un sujet pour demander l'aide de ceux qui pratiquent mieux linux que moi (autrement dit tous les utilisateurs de linux ! :mrgreen:).

Je souhaite ajouter le numéro de révision de la version SVN utilisée à chaque image générée sur le forum et dans la galerie.

J'utilise dans la galerie le résultat de

Code : Tout sélectionner

asy --version

pour obtenir, actuellement, quelque chose du genre 2.22svn.

Mais je n'ai jamais le numéro de révision puisque j'ai en console :

Code : Tout sélectionner

gm@serveur:/usr/local/svn/asymptote$ asy --version
Asymptote version 2.22svn [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]


J'ai cherché un peu :

svn balance ses infos en français :

Code : Tout sélectionner

gm@serveur:/usr/local/svn/asymptote$ svn info
Chemin : .
URL : http://asymptote.svn.sourceforge.net/svnroot/asymptote/trunk/asymptote
Racine du dépôt : http://asymptote.svn.sourceforge.net/svnroot/asymptote
UUID du dépôt : fb5b39b3-7a14-0410-b0a0-e9e911d1d576
Révision : 5538
Type de noud : répertoire
Tâche programmée : normale
Auteur de la dernière modification : jcbowman
Révision de la dernière modification : 5538
Date de la dernière modification: 2012-10-18 04:11:03 +0200 (jeu. 18 oct. 2012)


Code : Tout sélectionner

gm@serveur:/usr/local/svn/asymptote$ locale
LANG=fr_FR.UTF-8
LANGUAGE=fr:en
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=


Un petit tour dans le makefile :

Code : Tout sélectionner

gm@serveur:/usr/local/svn/asymptote$ sudo vim ./Makefile


permet notamment d'y lire l'extrait suivant :

Code : Tout sélectionner

REVISION = "const char *SVN_REVISION="
revision = `svn info 2>/dev/null | grep 'Revision' | sed -e 's/Revision: \(.*\)/-r\1/'`
last = `cat svnrevision.cc | sed -e 's/.*\"\(.*\)\";/\\1/'`

export prefix docdir exampledir mandir infodir INSTALL MAKE DESTDIR TEXI2DVI

asy:    version GUIversion
        if test -n "$(MSDOS)"; then \
          cat asy.rc | sed -e "s/ASYMPTOTE_VERSION/2.22svn$(revision)/" | \
          windres -o asy.o; \
          $(CXX) $(OPTS) -o $(NAME) $(FILES:=.o) asy.o $(LIBS) -s -static; \
        else \
          ln -sf GUI/xasy.py $(XNAME); \
          $(CXX) $(OPTS) -o $(NAME) $(FILES:=.o) $(LIBS); \
        fi

version: $(GCLIB) $(FILES:=.o)
        if test "$(revision)" != "$(last)"; then \
          echo $(REVISION)\"$(revision)\"\; > svnrevision.cc; \
          $(CXX) $(OPTS) $(INCL) -o svnrevision.o -c svnrevision.cc; \
        fi
        echo string VERSION=\"2.22svn$(revision)\"\; > base/version.asy
        echo @set VERSION 2.22svn$(revision) > doc/version.texi
        echo @set Datadir ${datarootdir} >> doc/version.texi

GUIversion:
        echo "#!/usr/bin/env python" > GUI/xasyVersion.py
        echo xasyVersion = \"2.22svn$(revision)\" >> GUI/xasyVersion.py

asymptote.so: $(COREFILES:=.pic.o)
        $(CXX) $(OPTS) -shared -o asymptote.so $(COREFILES:=.pic.o) $(SHAREDLIBS)

svnrevision.cc:
        echo $(REVISION)\"\"\; > svnrevision.cc;


On aura remarqué une recherche de "Revision" alors que "svn info" renvoie chez moi "Révision".

J'ai édité le makefile pour y changer le "Revision" en "Révision"... ce qui m'a permis de récupérer le numéro de révision notamment dans le fichier svnrevision.cc

mais asy --version ne me renvoie toujours pas le numéro de révision.

-------

Donc je me demandais, si certains obtiennent le numéro de révision en console à l'aide de la commande asy ?

Toute suggestion pour m'aider à améliorer le forum et la galerie pour le confort de tous sera appréciée.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Numéro de révision de la version SVN utilisée

Message non lu par GM » sam. 20 oct. 2012, 08:51

J'ai résolu mon problème : après avoir édité le Makefile et refait un make all, j'avais tout bêtement oublié le sudo make install.

Je dis "résolu"... mais devoir éditer le Makefile à chaque fois va me gonfler.
Donc si quelqu'un a une idée... merci.


Et j'ai une autre question : ce que vous obtenez, c'est bien quelque chose du genre suivant ?

Code : Tout sélectionner

gm@serveur:/usr/local/svn/asymptote$ asy --version
Asymptote version 2.22svnRévision : 5538 Révision de la dernière modification : 5538 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]


Je demande car j'ai eu l'impression que parfois certains obtenaient quelque chose de plus court :

Code : Tout sélectionner

Asymptote version 2.22svn-r5538
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Numéro de révision de la version SVN utilisée

Message non lu par GM » sam. 20 oct. 2012, 09:48

En français, le mot "Révision" apparaît deux fois dans les informations svn, contrairement à "Revision" pour la version anglaise.
Cela explique ce qui est obtenu ci-dessus.

Comme je suis du genre "impatient", j'ai déposé aussi une demande sur le forum officiel d'Asymptote.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Numéro de révision de la version SVN utilisée

Message non lu par GM » sam. 20 oct. 2012, 10:15

GM a écrit :Je demande car j'ai eu l'impression que parfois certains obtenaient quelque chose de plus court :

Code : Tout sélectionner

Asymptote version 2.22svn-r5538


J'ai oublié de dire que j'avais ma réponse puisque j'avais loupé la fin de ligne suivante :

Code : Tout sélectionner

revision = `svn info 2>/dev/null | grep 'Revision' | sed -e 's/Revision: \(.*\)/-r\1/'`
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Numéro de révision de la version SVN utilisée

Message non lu par GM » sam. 20 oct. 2012, 13:54

Test de l'ajout de la version asymptote sur un exemple (en haut de l'image) :

Figure asymptote 50e0ec709c0dd83326a7b5840acf2ccb
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. settings.outformat='pdf';
  2. size(7cm);
  3. pen[] styl={green,yellow,blue,red};
  4. for(int i=0; i<4; ++i) fill(rotate(i*90)*unitsquare,styl[i]);
  5. for(int i=0; i<10; ++i) fill(scale(1-i/10)*unitcircle,white+opacity(.3));
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Numéro de révision de la version SVN utilisée

Message non lu par GM » dim. 21 oct. 2012, 10:49

Nouveau test suite à une modification.

Figure asymptote 9e25e8881809ac7caa165da4fc9873cd
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import geometry;
  2.  
  3. size(7.5cm,0);
  4. point foyer=(0,0); dot("F", foyer, W);
  5.  
  6. line directrice=line((0,2),(2,0));
  7. draw(directrice,dashed+.7bp+green);
  8.  
  9. // Un cercle lorsque e = 0
  10. conic par=conic(foyer,directrice,0);
  11. draw(par,.8bp+black);
  12.  
  13. // Une ellipse lorsque 0 < e < 1
  14. conic ell=conic(foyer,directrice,.8);
  15. draw(ell,.8bp+blue);
  16.  
  17. // Une parabole lorsque e = 1
  18. conic par=conic(foyer,directrice,1);
  19. draw(par,.8bp+red);
  20.  
  21. // Une hyperbole lorsque e > 1
  22. conic par=conic(foyer,directrice,1.5);
  23. draw(par,.8bp+green);
  24.  
  25. draw(box((-3,-3), (7,7)), invisible);
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Répondre