2010-09-29 17 views

Respuesta

130

El método usual que he visto es XYZ, que generalmente corresponde a major.minor.patch:

  • números de versión mayor cambiar cada vez que se introduce algún cambio significativo. Por ejemplo, un cambio grande o potencialmente incompatible con versiones anteriores de un paquete de software.
  • Los números de versión secundaria cambian cuando se introduce una característica nueva, menor o cuando se despliega un conjunto de características más pequeñas.
  • Los números de parche cambian cuando se lanza una nueva versión del software a los clientes. Esto es normalmente para pequeñas correcciones de errores o similares.

Otras variaciones usan números de compilación como un identificador adicional. Por lo tanto, puede tener un número grande para X.Y.Z.build si tiene muchas revisiones que se prueban entre lanzamientos. Uso un par de paquetes que están identificados por año/mes o año/lanzamiento. Por lo tanto, un lanzamiento en el mes de septiembre de 2010 podría ser 2010.9 o 2010.3 para el 3er lanzamiento de este año.

Hay muchas variantes para el control de versiones. Todo se reduce a preferencia personal.

Para el "1.3v1.1", puede tratarse de dos productos internos diferentes, algo que sería una biblioteca compartida/base de código que se revierta de manera diferente al producto principal; que puede indicar la versión 1.3 para el producto principal y la versión 1.1 de la biblioteca/paquete interno.

11

Wikipedia tiene una muy extensa answer que podría ser un buen punto de partida

+1

en realidad ese artículo no está escrito muy bien, pero ahora tengo una mejor idea, gracias. –

38

Puede que encuentre útil el Semantic Versioning Specification.

+1

SemVer debe convertirse en una norma propuesta y volver a publicarse en formato RFC. – alecov

+1

En cuanto a qué hacer si su código no ofrece una API pública, consulte: http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning-apply-to-programs-without-api – cyclingLinguist

+0

Solo es útil en el contexto de las bibliotecas de software. – Kais

Cuestiones relacionadas