php -r 'echo (version_compare("4.0.0", "4.0.0 GIT [truc]", ">=") ? "plus grand ou egal" : "plus petit") . PHP_EOL;' // plus grand ou egal
php -r 'echo (version_compare("3.2.11", "4.0.0 GIT [truc]", ">=") ? "plus grand ou egal" : "plus petit") . PHP_EOL;' // plus petit
Je me dis que #SPIP_VERSION devrait retourner une version valide au sens semver, et mettre le détail du vcs dans la partie build, tel que 4.0.0+git-4.0-bb50a8b4 ; un des seuls soucis serait de caser le nom de la branche qui peut ne pas être valide du <build> semver… ou alors on ne mettrait que le hash de commit… 4.0.0+git-bb50a8b4
4.0.0 correspond à un tag, une version stable précise. Normalement, il n’y a qu’un seul « build » pour cette version, donc un seul identifiant semver. Normalement hein …
Si tu es sur un commit de la branche de maintenance (4.0) il faudrait mieux qu’on n’ait pas4.0.0, mais 4.0 tout court (enfin… modulo le complément que tu proposes). Parce que ce n’est plus la 4.0.0, c’est peut-être la future 4.0.1…
Faudrait regarder du coté de composer qui a un système d’alias de branches :
master → dev-master → éventuellement synonyme de 4.1.0-dev
Le 23/08/2021 à 14:19, JamesRezo via Discuter de SPIP a écrit :
Si tu es sur un commit de la branche de maintenance (|4.0|) il faudrait mieux qu’on n’ait pas |4.0.0|, mais |4.0| tout court (enfin… modulo le complément que tu proposes). Parce que ce n’est plus la 4.0.0, c’est peut-être la future 4.0.1…
+1 et ce qui est sûr c’est que quelque soit la manière de nommer (4.0.Z+1-dev ou avec des -git123build), dès qu’on fait une release, sur n’importe quelle branche (donc y compris les branches de maintenance), alors la branche Git (master bien sûr mais aussi 3.2 etc) doit immédiatement être augmentée dans sa version pour que les plugins puissent discriminer (si par ex un plugin est codé en tenant compte d’un ajout ou correction faite sur la version Git qui n’est pas encore release, j’ai des exemples).