Procesos de actualización de la .image [Archivo adjunto 1]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Procesos de actualización de la .image [Archivo adjunto 1]

Edgar De Cleene
Gentes:

Los procesos de incorporación de código externo a una .image en Squeak,
Pharo y sus forks,  tradicionales son:

FileIn de un archivo .st

Se puede incorporar desde un método , una clase , a toda una categoria,

Idealmente, debería usarse para incorporar a la .image un único metodo

FileIn de un archivo.cs

Se puede organizar un Change Set de forma tal que contenga cambios a clases
no relacionadas.
Esta fue antiguamente la forma de incorporar updates y estos updates en
forma de .cs numerados se ubicaban en un ftp externo desde donde se bajaban
e instalaban,
Se puede tener en forma local , dentro de la carpeta, folder, directorio etc
correspondiente al FileDirectory default en una carpeta Œupdates¹.
Según uno de mis masters , Juan Vuletichm esta es la única forma en que se
tendría que trabajar.

Mientras unicamente existieron .cs para actualizar , el proceso fue fluido y
no conozco de casos en que se haya interrumpido.

En la release 3.9 Stephane Ducasse y Marcus Denker incorporaron el concepto
de actualizar con paquetes Monticello.
Como era la primera vez que se intentaba, el proceso no era ni alpha y
genero todo tipo de inconvenientes e incomprensión general con estos
adelantados a su tiempo.
Algo que heredamos fue el acostumbrar a la comunidad a bajar imagenes
completas.

En el 3.10 le propuse a Ralph volver a los .cs, pero Stephanne lo convencio
que habia que continuar puliendo ese proceso.

Modestamente, invente la forma de hacer que los .mcz se buscaran desde sus
repositorios e incorporaran a la imagen creando un .cs.
Tambien volvi a usar el ReleaseBuilder para todo este proceso, de manera que
todo quede documentado.

Este proceso fue pulido por Andreas Raab y adoptado hasta el dia de hoy,
donde la release en proceso usa el repositorio trunk.

Hablo de esto porque como consecuencia de la destrucción del Pier que
supimos tener hice hasta ahora.

Crear una version local de lo que habia antes de la desgracia.
Esta version está alojada en MillenaryFalcon con sus 200+ mega.

Rescate un SqueakLight3Pier que encontre en NikolaiTesla y ya hace casi dos
dias que se está actualizando.

Un problema es que se corta el proceso cuando encuentra un Merge que el
usuario debe decidir.
Tengo que trabajar en resolver eso cuando ocurra de nuevo, contaré la
experiencia.
Una de mis muchas modificaciones , que no están el la versión oficial , es
forzar a que cada CompiledMethod tenga author.
Esto a su vez permite

Asegurarse que ciertos metodos esten en la imagen objetivo
Utilities methodsWithInitials: 'edc' inClass: Object . " hacer inspect "

Utilities methodsWithInitials: 'edc' inPackage: 'Monticello'

Planeo extender este concepto para que en caso de un Merge se fije si el
método que va a cambiar pertenece al autor de la version anterior.
En mi caso, si existe versión anterior con iniciales Œedc¹, elegir esto para
el Merge.

Feedback ?

Edgar

Reply | Threaded
Open this post in threaded view
|

Re: Procesos de actualización de la .image [Archivo adjunto 1]

garduino
Es interesante el raconto que hacés de todos estos temas.

Lo que decís del merge lo viví muchas veces y parece razonable
automatizarlo también de esa forma, es decir respetando la pertenencia de
los cambios. Esto lo digo así a vuelo de pájaro, no lo pensé mucho, habría
que masticarlo para imaginar todos los detalles.

No obstante tampoco es mucho lo que puedo aportar porque esto de construir
las imágenes es casi un arte y la verdad mucho no me dedico, no me da el
tiempo, yo bajo una imagen estable y construyo mis cosas sobre ella. Antes
ayudaba con el proceso de paro, pero ahora apenas pude ver el 1.4, no me
dan los tiempos.

Saludos!




El 4 de febrero de 2012 06:28, Edgar J. De Cleene
<[hidden email]>escribió:

> **
>
>  [Más abajo se incluyen archivos adjuntos <#13547e7c6b28f004_TopText> de
> Edgar J. De Cleene]
>
> Gentes:
>
> Los procesos de incorporación de código externo a una .image en Squeak,
> Pharo y sus forks,  tradicionales son:
>
> *FileIn de un archivo .st
> *
> Se puede incorporar desde un método , una clase , a toda una categoria,
>
> Idealmente, debería usarse para incorporar a la .image un único metodo
>
> FileIn de un archivo.cs
>
> Se puede organizar un Change Set de forma tal que contenga cambios a
> clases no relacionadas.
> Esta fue antiguamente la forma de incorporar updates y estos updates en
> forma de .cs numerados se ubicaban en un ftp externo desde donde se bajaban
> e instalaban,
> Se puede tener en forma local , dentro de la carpeta, folder, directorio
> etc correspondiente al FileDirectory default en una carpeta ‘updates’.
> Según uno de mis masters , Juan Vuletichm esta es la única forma en que se
> tendría que trabajar.
>
> Mientras unicamente existieron .cs para actualizar , el proceso fue fluido
> y no conozco de casos en que se haya interrumpido.
>
> En la release 3.9 Stephane Ducasse y Marcus Denker incorporaron el
> concepto de actualizar con paquetes Monticello.
> Como era la primera vez que se intentaba, el proceso no era ni alpha y
> genero todo tipo de inconvenientes e incomprensión general con estos
> adelantados a su tiempo.
> Algo que heredamos fue el acostumbrar a la comunidad a bajar imagenes
> completas.
>
> En el 3.10 le propuse a Ralph volver a los .cs, pero Stephanne lo
> convencio que habia que continuar puliendo ese proceso.
>
> Modestamente, invente la forma de hacer que los .mcz se buscaran desde sus
> repositorios e incorporaran a la imagen creando un .cs.
> Tambien volvi a usar el ReleaseBuilder para todo este proceso, de manera
> que todo quede documentado.
>
> Este proceso fue pulido por Andreas Raab y adoptado hasta el dia de hoy,
> donde la release en proceso usa el repositorio trunk.
>
> Hablo de esto porque como consecuencia de la destrucción del Pier que
> supimos tener hice hasta ahora.
>
> Crear una version local de lo que habia antes de la desgracia.
> Esta version está alojada en MillenaryFalcon con sus 200+ mega.
>
> Rescate un SqueakLight3Pier que encontre en NikolaiTesla y ya hace casi
> dos dias que se está actualizando.
>
> Un problema es que se corta el proceso cuando encuentra un Merge que el
> usuario debe decidir.
> Tengo que trabajar en resolver eso cuando ocurra de nuevo, contaré la
> experiencia.
> Una de mis muchas modificaciones , que no están el la versión oficial , es
> forzar a que cada CompiledMethod tenga author.
> Esto a su vez permite
>
> Asegurarse que ciertos metodos esten en la imagen objetivo
> Utilities methodsWithInitials: 'edc' inClass: Object . " hacer inspect "
>
> Utilities methodsWithInitials: 'edc' inPackage: 'Monticello'
>
> Planeo extender este concepto para que en caso de un Merge se fije si el
> método que va a cambiar pertenece al autor de la version anterior.
> En mi caso, si existe versión anterior con iniciales ‘edc’, elegir esto
> para el Merge.
>
> Feedback ?
>
> Edgar
>  
>



--
============================================
Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
Arduino Software  http://www.arduinosoftware.com
PasswordsPro  http://www.passwordspro.com
greensecure.blogspot.com germanarduino.blogpost.com
============================================