[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lilypond, git et tag
From: |
Jean Abou Samra |
Subject: |
Re: Lilypond, git et tag |
Date: |
Thu, 17 Jun 2021 22:12:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
Bonjour à tous !
J'aime bien mettre en bas et à droite des partitions que je fais pour
mes choristes le numéro de version... histoire qu'on ait tous la même
partition, les erreurs de notes et d'aurtograff se corrigent petit à
petit, eh oui !
Un peu du style :
* date = #(strftime "%d %b %Y" (localtime (current-time)))*
* copyright=\markup {
\tiny {
\fill-line {
"Transcription Bernard Barbier pour le Petit Chœur Liturgique
de Saint-Claude de Tassin."
\concat {"V-1.4 - " \date}}
}
}
*
Et comme je fais ça sous git...
J'aimerais bien savoir s'il était possible de récupérer à la
compilation le tag git par exemple :
*git tag -a v1.4 -m 'V-1.4'*
Merci beaucoup beaucoup et très belle fin de journée à tous !
Bernard.
Le 16/06/2021 à 18:49, me@papilip.me a écrit :
Bonjour Guillaume,
Je viens de faire un test en scheme, dans un dossier suivi par git, je lance la
commande suivante :
guile -c '(system "git tag")’
Et je récupère le tag à l’écran
Je suppose que si tu utilises
(system "git tag")
Tu obtiendras ton tag ;-)
Bon courage, Philippe
Bonjour,
C'est effectivement l'idée, simplement la fonction system se
contente d'exécuter la commande, sans renvoyer sa sortie. Voici
une solution complète :
\version "2.22"
#(use-modules (ice-9 popen)
(ice-9 rdelim))
#(define (string-drop-prefix str prefix)
(if (string-startswith str prefix)
(string-drop str (string-length prefix))
str))
#(define-markup-command (git-tag layout props) ()
(let* ((port (open-input-pipe "git describe --all --abbrev=0"))
(str (read-line port)))
(close-pipe port)
(interpret-markup layout props
(if (string? str)
(string-drop-prefix str "tags/")
"??"))))
\markup \typewriter \git-tag
Cordialement,
Jean