Version a un programa

Carlos Manuel Duclos Vergara carlos en embedded.cl
Mar Abr 26 04:03:21 CLT 2005


Holas,

[...]
estas confundiendo dos conceptos, uno es la version del codigo fuente y la otra la version del binario generado. Que en
algunos casos coinciden pero por lo general no.
La version del codigo fuente por lo general se maneja usando herramientas como CVS, SubVersion, etc... las que se encargan
de generar identificadores unicos para cada combinacion nueva de codigo fuente. Ademas tu puedes generar tus propios
identificadores para resaltar alguna combinacion en particular (por ejemplo cvs tag "VERSION_ALPHA").
Notese que ademas de los identificadores manejados por estas herramientas tu debes tener una politica consistente respecto
a las versiones, es decir, cuando cambiar el numero de version desde la 1.x a 2.x (lo que por lo general significa crear un nuevo
repositorio) y cuando simplemente dejar los cambios dentro de la version.
Paralelo a esto existen las versiones de los binarios o releases, las que estan basadas en determinada version de codigo
fuente, pero ademas estan compiladas. Una misma version de codigo fuente puede ser compilada con distintas opciones, lo
que genera dos versiones distintas (por ejemplo usando -DDEBUG y usando -DNO_DEBUG al momento de compilar obtienes
la version para debug y la version no_debug de un hipotetico software). Obviamente los cambios pueden ser mayores, como por
ejemplo, habilitar un determinado feature del software solo para la version ULTRA_GOLD y dejarlo afuera para todas las demas.
Como si esto fuera poco, ademas existe la posibilidad de tener versiones que son correcciones, por ejemplo al generar el
software te equivocaste en los flags de compilacion y tienes que lanzar un bugfix que corrija esto. No cambia la version de 
codigo fuente, pero el binario tiene una nueva version. Tambien hay herramientas para esto (se me vienen a la mente quilt y
stp, probablemente haya muchos otros).

Espero haber aportado un poquito de luz a las dudas que te asaltaban

Xhau



Más información sobre la lista de distribución Linux