2 votes

Pourquoi aller module pseudo version ont une version spécifique ?

J'ai un go.mod qui ressemble à

require(
   ...
   github.com/google/wire v0.3.1-0.20190716160000-66f78fc84606
   ...
)

D'après ce que je comprends, si un paquet ressemble à cela (yyyymmddMMSS-commit_id), quelle version devrait être v0.0.0 mais pas v0.3.1 comme cet exemple.

Quelqu'un pourrait-il me dire comment expliquer cela ? Est-ce que le go mod ignore le v0.3.1- préfixe ?

2voto

ernesttcwong Points 56

En fait, il existe trois formes acceptables de pseudo-version :

  1. vX.0.0-yyyymmddhhmmss-abcdefxyz .
    lorsqu'il n'y a pas de livraison antérieure avec une version majeure appropriée avant la livraison cible

  2. vX.Y.Z-pre.0.yyyymmddhhmmss-abcdefxyz
    lorsque le dernier commit versionné avant le commit cible est vX.Y.Z-pre

  3. vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdefxyz
    lorsque le dernier commit versionné avant le commit cible est vX.Y.Z

Quelques précisions sur Gestion des pseudo-versions des modules Go :
https://hackernoon.com/managing-go-module-pseudo-versions-in-go-113-412h30lw

2voto

TXV Points 215

C'est le résultat de go get 'ing un commit spécifique qui existe dans l'arbre après une étiquette de version sémantique :

go get github.com/google/wire@66f78fc84606

Les pseudo-versions ne sont pas seulement utilisées lorsqu'il n'y a pas de balise de version. Comme le montre la documentation officielle sur les pseudo-versions montre :

Les pseudo-versions peuvent faire référence à des révisions pour lesquelles aucune étiquette sémantique de version n'est disponible. Elles peuvent être utilisées pour tester les livraisons avant de créer des étiquettes de version, par exemple sur une branche de développement.

...

vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdefabcdef est utilisé lorsque la version de base est une version release comme vX.Y.Z.

Dans ce cas, le référentiel dispose de balises sémantiques de version. La version de base est ici v0.3.0 et en obtenant un engagement spécifique ( 66f78fc84606 ) qui existe après v0.3.0 et avant le suivant v0.4.0 Vous vous retrouvez avec.. :

github.com/google/wire v0.3.1-0.20190716160000-66f78fc84606

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X