[BulmaGés]Revisiones y versiones
Tomeu Borras
tborras en conetxia.com
Lun Jul 23 12:21:25 CEST 2007
Porfin !!! Ahora ya si puedo contestar al mail directamente. El kmail me la ha
jugado con este correo.
> 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'.
>
Cierto, yo creo que el fallo estaba en que el directorio estable debería
llamarse released. Y así no se presta a confusión.
> 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.
>
No como debian. En realidad se trata de tener un sitio donde programar y un
sitio a partir del cual los usuarios tengan sus instalaciones. Para poder
arreglar los problemas de los usuarios y poder seguir desarrollando. Y todo
ello con el menor esfuerzo posible en inversión de recursos.
> 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.
>
Hay que decir que los problemas son muchos. Estamos tocando bulmalib cada dia.
La base de datos también esta modificandose muy a menudo. No se puede
utilizar esa notación hasta que se pueda hacer un trabajo sin tener que andar
tocando bulmalib muy a menudo. Pero hoy por hoy eso no es posible.
> 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.
>
El problema es que lo planteado es muy teórico y en la práctica acabarás
teniendo algo del estilo.
0.9.0
0.10.0
0.11.0
0.12.0
...
...
...
A pesar de que mi opinión sea pesimista hagamos lo lógico. Probemoslo, y
siempre podemos volver a cambiar si no funciona.
Salut
--
Tomeu Borrás Riera
Departamento de Gestión
Conetxia Soluciones informáticas
971 29 06 29
http://www.conetxia.com
Más información sobre la lista de distribución BulmaGes