[BulmaGés] Revisiones y versiones
Leopold Palomo Avellaneda
lepalom en wol.es
Dom Jul 22 13:54:57 CEST 2007
Bones,
hay un punto que no veo muy claro y ayer tarde lo hablé con Tomeu: es el
tema de como numerar y donde ubicar las versiones. No creo que exista el
concepto de versión estable y en esto difiero de Tomeu. No me lo creo. Lo que
si veo es que se podría tener series, por ejemplo la 0.9.X que en una época
determinada fuera la serie estable.
La estructura habitual en SVN es trabajar en 'trunk', hacer pruebas
en 'branches' y liberar versiones estables en 'release'.
Tomeu comentaba que el desarrollo principal y los experimentos se hacen
en 'trunk', sin tener en cuenta el directorio branches. No estoy muy de
acuerdo, pero lo acepto.
En el tema de la liberación de versiones es donde yo estoy en desacuerdo con
Tomeu y aunque al final de la conversación habíamos llegado a
un entendimiento, creo que seria bueno tener más opiniones.
Creo que el planteamiento de Tomeu es parecido al de debian: con una rama
estable, una inestable y una testing. Mi planteamiento es más parecido al de
una aplicación estandard.
Yo creo, y en eso Tomeu y yo estamos de acuerdo, que la numeración principal
de las versiones se tendría que fundamentar en la versión de la base de datos
y quizás también en la versión (ABI) de las librerías. Así, la versión 0.9 se
basa en una estructura determinada de la base de datos y en una versión fija
de las bulmalib.
Mi propuesta es que cuando se tenga en el trunk una versión que se considera
que puede ser estable, se haga una copia en el directorio 'release' o 'tags'
o llame se como se quiera. El nombre debería ser en nuestro caso actual 0.9
(es decir el número de la versión en al que se basa).
Al mismo tiempo se está trabajando en trunk en la serie, por ejemplo, 0.10.x
que necesita las qt 4.3, etc.
Actualmente tenemos una versión estable, que yo lo llamaría la serie 0.9.
El siguiente número de la versión, muestra el nivel de parcheo. Ahora estamos
el la versión de parcheo de bugs, etc 0.9.3. Quiero decir que si la estable
es ésta, no implica que no salgan cosas o arreglos. Todo lo contrario, el
último número muestra el nivel de parcheo.
Si tenemos una rama que sea la 0.9, en esta se arreglan las cosas, o se añada
documentación, etc. pero lo importante es que no se cambie la base de datos
de forma que si se tiene instalado la 0.9.x se pueda instalar encima una
0.9.y (x < y) de forma muy segura, porque la base de datos es la misma y
solamente se cambian o arreglan cosas mínimas. Los arreglos que se hagan a la
0.9.3 darán lugar a la 0.9.4 que también será estable y mejorada.
Los splash los dejaría etiquetados por series, o sea que no aparezca el patch
level .x último, de forma que esa parte no se tuviera que cambiar y
únicamente en el arranque de la aplicación apareciera en texto, el nivel de
arreglo 0.9.X (aparte del botón Acerca de). Los scripts de actualización de
base de datos serian por series.
Respecto al tener un directorio etiquetado como estable, etc. Ayer descubrí
una cosa que tiene subversión que no sabia: las propiedades externas.
Así como los enlaces simbólicos funcionan, pero no en la forma que pueda hacer
un checkout de un enlace. Pero se puede poner un directorio vacío, y cambiar
sus propiedades, de forma que se podría hacer un directorio donde las
propiedades sean hacer chekout de otros sitios:
svn propset svn:externals --file props release-stable
donde el fichero props contiene:
stable-tomeu http://svn.berlios.de/svnroot/repos/bulmages/branches/estable
Es un correo un poco largo y complejo. Me lo ha revisado la Laida (y
parcheado ;-) así que por favor os pido que os lo leáis con calma y que
comentemos las cosas que no hayan quedado claras o no estéis de acuerdo.
Saludos,
Leo
--
--
Linux User 152692
PGP: 0xF944807E
Catalonia
Más información sobre la lista de distribución BulmaGes