Il semble y avoir deux conventions dominantes (en supposant que vous respectiez également une norme raisonnable pour la numérotation des publications elles-mêmes) :
Les avantages de v1.2.3
sont que la documentation de Git (et aussi celle de Mercurial) utilise ce format dans ses exemples, et que plusieurs "autorités" telles que les Noyau Linux y Git lui-même l'utiliser. (La mention Versionnage sémantique avait l'habitude de l'utiliser mais ne le fait plus).
Les avantages de 1.2.3
sont que gitweb ou GitHub peuvent offrir automatiquement un téléchargement tarball ou zip de la forme packagename-$tag.tar.gz
(et je pense qu'il est tout à fait établi qu'un tarball devrait pas être nommé package-v1.2.3.tar.gz
). Vous pouvez également utiliser git describe
directement pour générer les numéros de version de la boîte à outils. Pour les projets légers sans processus de publication formel, ces possibilités peuvent être très pratiques. Il convient également de noter que Semantic Versioning n'est en aucun cas la seule norme ou une norme universellement acceptée pour la numérotation des versions. Des projets notables tels que GNOME, ainsi que d'innombrables autres projets, utilisent la norme 1.2.3
la dénomination des balises.
Je pense qu'il est probablement trop tard pour consolider ces positions. Comme toujours, soyez cohérent et soyez logique.
Mise à jour : Comme mentionné dans ce GitHub propose désormais le nom d'une archive avec le "v" supprimé de la balise.
25 votes
Avec 43 upvotes et plus, je me demande si cette question très précieuse ne pourrait pas être reformulée et rouverte, avec une réponse intégrant tous les points dans un joli résumé et se trouvant en haut ? La réponse de @PeterEisentraut semble être la plus complète, alors que la réponse acceptée par ATM semble un peu trompeuse. (Je pense que je vais moi-même utiliser la v1.2.3 pour les balises, après avoir lu tous les points).
1 votes
SO est pour fixer le code. Les meilleures pratiques semblent appartenir à génie logiciel.stackexchange.com o codereview.stackexchange.com
1 votes
Jetez un coup d'œil à semver.org (versionnement sémantique), cela devrait vous donner quelques idées.
1 votes
Mon expérience me dit d'utiliser un schéma légèrement différent. 1. sous-répertoire : a Git devrait au moins commencer par
v/
car cela permet de regrouper les balises dans un espace de nom. 2. idéalement, une balise devrait également contenir un acronyme qui identifie de manière unique l'application. par ex.v/myapp/1.0
. Cela facilite la fusion des dépôts git : dans le cas où les applications seraient fusionnées, les balises n'entreront pas en collision dans l'espace de noms des balises.0 votes
Il y a une autre raison subtile de préférer et de promouvoir le préfixe v dans les balises : cela oblige la version à être toujours reconnue comme une chaîne de caractères par les outils, les bibliothèques et les langages qui pourraient autrement traiter 1.10 comme un nombre à virgule flottante et considérer qu'il s'agit en réalité de 1.1, ce qui n'est pas du tout conforme à la version. À l'échelle, le préfixe v s'est avéré être un bon moyen d'éviter les dommages de type "mojibake". Les outils qui ont vraiment besoin de la vraie version peuvent facilement enlever le préfixe v.
0 votes
La réponse est bloquée. Mais aucune réponse n'a d'information importante : Vous devez éviter les caractères '~', '^', ':', '\', '?', '[', et '*', et les séquences ".." et "@{" qui ont une signification spéciale pour revparse. Il ne doit pas non plus contenir d'espaces blancs. Il s'agit d'une validation correcte du nom de la balise. Je ne suis pas sûr qu'il s'agisse d'une validation complète, mais... c'est au moins une information de base sur le sujet.