jueves, 29 de enero de 2009

News: Branching 0.3.8

¿Branch...qué? Branching.

El "Branching"(cuya traducción al español es "ramificación") consiste en la creación de un Directorio "especial" en el repositorio de código fuente. El repositorio de código fuente es un árbol de directorios(como el que nos muestra el explorador de windows al pinchar por ejemplo en C:) donde están ordenados todos los ficheros con el código fuente de ReactOS.



¿Qué es una Revision?

Antes de poder explicar qué es el Branching hace falta definir que es una Revision(o Revisión).

Cada vez que un Desarrollador crea un Parche lo manda a nuestro repositorio de código fuente(también llamado árbol de código fuente). El árbol, que es muy inteligente(o mejor dicho,el programa que controla el árbol) coge el Parche y actualiza el código fuente de los ficheros a los que afecta el Parche. Cada vez que un Parche es subido, el programa que controla el arbol crea una nueva Revision. Por lo tanto, si en un día se suben 30 parches,tendremos 30 revisiones. No entraré en mas detalles porque proximamente hablaré de las Revisiones,el programa que las controla,el programa de los parches...etc..etc en otra entrada.

Ahora si: ¿En que consiste el dichoso Branching?

Ya he dicho que lo primero es crear una nueva carpeta en el árbol ( de ahí la palabra "branching" que proviene de "branch":rama).Y a continuación se copia en ella una de las Revisiones más recientes y estables. La afortunada en este caso es la r39184.

¿Por qué se hace una copia del Código en una "branch" separada?

Porque existen varias diferencias entre una Revision y una Version. Una Versión nace de una Revisión pero además una Versión tiene ciertos Extras que una Revision no tiene.Estos "Extras" son: Wallpapers,Temas,Downloader!,... Estos Extras no aparecen en las Revisiones para que sean lo más pequeñas posibles.

Pues a la Noticia de nuevo:

Hoy se ha hecho el Branching de la versión 0.3.8. Esto quiere decir que ya existe una revisión ganadora(la r39184) aunque no tiene porqué ser la definitiva.

Una vez realizado el Branching, se crea una ISO con lo que se denomina la "0.3.8 pre-release" que se entrega a los Testeadores.

Ahora comienza para ellos un nuevo juego: Testear una lista de programas (que se mantiene invariante Versión tras Versión) para comprobar que ninguno ha dejado de funcionar, y que los que no funcionaban ahora hayan mejorado un poco. Lógicamente a medida que vamos avanzando nuevos programas son añadidos a la lista para tener siempre objetivos que cumplir.

Además de Testear dicha lista de programas deben testear todo el Sistema Operativo comprobando que nada "raro" ocurra(algo "raro" es que una opción que antes funcionaba ahora no funcione,a esto se le define como "regression",regresión).

Por lo general lo que retrasa un Lanzamiento son las dichosas "regression", pues nunca una Versión es lanzada si tiene regresiones .Ahora la pelota es lanzada a los Desarrolladores para que las arreglen y suban los parches.Y entonces el juego comienza de nuevo: se crea una nueva branch con la revision que tiene todas las regresiones corregidas,se crea una nueva pre-release,se testea de nuevo,se comprueba que las regresiones están arregladas y entonces: Se lanza al ciberespacio.
De momento parece que ninguna regression ha aparecido,pero no hemos hecho más que empezar a testear.



Lo dicho: Con suerte antes del dia 7 la tenemos ;). Ya os explicaré porqué mi empeño del dia 7...

2 comentarios:

  1. [...] http://reactos.wordpress.com/2009/01/29/news-branching-038/ [...]

    ResponderEliminar
  2. [...] Las versiones salen cada 2 meses.Cada día están disponibles varias revisiones.Las versiones son fuertemente testeadas,las revisiones no tanto.Mas Info : Aquí [...]

    ResponderEliminar