2015-09-28 3 views
0

J'ai une branche de développement (potentiellement publique) pour un projet Haskell que je libère également à Haddock. La tête de ma branche de publication a toujours (naturellement) un fichier .cabal avec une version correspondant à la version actuelle de Haddock.Quelle version de Cabal devrais-je avoir pour ma branche de développement inter-version?

Mais quelle version dois-je avoir dans le fichier .cabal sur ma branche de développement? Par exemple, après avoir publié la version 0.1.2.6 sur Hackage, aucune validation ultérieure nulle part (en particulier le long d'une branche de développement) n'est la version 0.1.2.6, et ils ne sont pas (encore) 0.1.2.7. Quelle version devrait être de tels commits? Existe-t-il une pratique standard, soit pour Hackage en particulier, soit pour le contrôle à la source en général (rappelant que Cabal impose des restrictions sur les valeurs que peut prendre version)?

Répondre

-1

je ne peux pas voir restrictive rules pour version champ

Le numéro de version du paquet, constitué habituellement d'une séquence de nombres naturels séparés par des points.

ainsi - vous pouvez utiliser la version sans forme, et prises en pension Git-git describe est bon choix comme identifiant de tout changeset, et ces données peuvent être insérées dans le fichier versionné avec smudge|clean filters

Note:

Si "uniquement numérique" est un must pour vous, vous pouvez

  • Suivez sémantique versioning
  • unique utilisation (incrémenter?) Version

mais git describe + paire de filtres devient un "must" et non "possible" choix

1.0.4-14-g2414721 est convertie en (vous pouvez, probablement, perdu identification unique de changeset en cas de inbeetwen ramification, mais ...) 1.0.4.14 et cette version sera:

  • correct pour vous
  • utilisable pour l'identification de provenance changeSet
  • facilement obtenu (automatiquement) à partir git describe
+0

Désolé, je n'était pas clair ce que je voulais dire mon « restrictive »: il doit être un nombre - c'est-à-dire, il ne peut pas être quelque chose de manifestement descriptif comme '0.1.2.6 ++' ou '0.1.2.6-> 7dev'. Je suppose que je pourrais juste utiliser '0.0.0.0', mais la question est vraiment de savoir s'il y a une pratique standard, esp. sur * Hackage *. – orome

+0

@raxacoricofallapatorius - "La pratique standard" est largement acceptée [Versioning sémantique] (http://semver.org/). Vous pouvez l'adopter selon vos besoins –

+0

La question concerne la valeur valide à fournir dans '.cabal' entre les versions de Hacakge sur une branche de développement. Il ne peut s'agir d'une version Hackae antérieure et future, et doit être "une séquence de nombres naturels séparés par des points". J'ai toujours utilisé la version sémantique en interne, et c'est vraiment une partie de la question: comment les gens "l'adaptent" à * Hacakge *. (Cette réponse semble ignorer ce contexte.) – orome