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.