GIT y actualización de version

Buenas noches. Les quería hacer una consulta con respecto a estos temas. Hace varios años que implementamos y estamos trabajando con Guarani. Con la última actualización de versión, de la 3.16.2 a la 3.20.1, tuvimos varios inconvenientes, especialmente con la parte de mergear las versiones en SVN. El problema viene desde el principio, por tener que trabajar con git y no SVN. Esto hizo que tengamos que cambiar la forma de trabajar que SIU planteaba.
En la última actualización nos topamos con con un problema en el paso de SVN MERGE de la carpeta ‘personalizacion’ de la versión actual (3.16.2) con la que ibamos a instalar (3.20.1). El problema era que en la branch de SVN 3.16.2 no teniamos los cambios subidos; por lo tanto procedimos a subirlos reemplazando toda la carpeta de ‘personalizacion’. Luego nos dimos cuenta que esto no era lo correcto, ya que en el medio SIU había subido 2 o 3 arreglos.

Las preguntas serían:

  • Cómo podriamos manejarnos para seguir trabajando con GIT sin tener problemas a la hora de actualizar la versiòn? reemplazando cada tanto nuestra carpeta ‘personalizacion’ y ‘metadatos’ de GIT en la branch de SVN y commitearlo? O hay una forma estandar de trabajo con repositorios de svn y git?.

Otra consulta: por ejemplo la branch de la trunk/3.21.0/, no la crean a partir de trunk/3.20.1/, no? Osea que trunk/3.20.1 no tiene nuestras personalizaciones.

Gracias

Agustín

Hola Agustin,

El problema viene desde el principio, por tener que trabajar con git y no SVN.
Por lo que entiendo ustedes se descargar el código de [url=https://colab.siu.edu.ar/trac/guarani3/browser/nodos/unt]su rama de colab[/url] (que esta en SVN) y luego lo manejan con GIT, no?
Esto hizo que tengamos que cambiar la forma de trabajar que SIU planteaba.
Claro, algunos comandos de [url=https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/actualizacion_con_personalizaciones/gestion]la documentación[/url] no te van a servir ya que están pensados para SVN, vas a tener que buscar su equivalente en GIT.
En la última actualización nos topamos con con un problema en el paso de SVN MERGE de la carpeta 'personalizacion' de la versión actual (3.16.2) con la que ibamos a instalar (3.20.1). El problema era que en la branch de SVN 3.16.2 no teniamos los cambios subidos; por lo tanto procedimos a subirlos reemplazando toda la carpeta de 'personalizacion'. Luego nos dimos cuenta que esto no era lo correcto, ya que en el medio SIU había subido 2 o 3 arreglos.
Claro, el problema es que cada vez que nosotros le subamos un arreglo, ustedes lo van a tener que descargar con un diff y aplicarlo a su rama de GIT. https://stackoverflow.com/questions/659467/how-to-apply-svn-diff-to-git
Las preguntas serían: - Cómo podriamos manejarnos para seguir trabajando con GIT sin tener problemas a la hora de actualizar la versiòn? reemplazando cada tanto nuestra carpeta 'personalizacion' y 'metadatos' de GIT en la branch de SVN y commitearlo? O hay una forma estandar de trabajo con repositorios de svn y git?.

Te paso el equivalente de comandos de SVN y GIT:
https://git.wiki.kernel.org/images-git/7/78/Git-svn-cheatsheet.pdf
https://fling.seas.upenn.edu/~giesen/dynamic/wordpress/equivalent-commands-for-git-svn-and-cvs/
http://www.cs.bath.ac.uk/~jjb/web/git.html

Con el tema de manejo de ramas y versiones solemos utilizar git-flow en el SIU.

Otra consulta: por ejemplo la branch de la trunk/3.21.0/, no la crean a partir de trunk/3.20.1/, no? Osea que trunk/3.20.1 no tiene nuestras personalizaciones.
No, Guaraní librera la versión 3.20.1 y la copia a todos los nodos de colab (en su caso [url=https://colab.siu.edu.ar/trac/guarani3/browser/nodos/unt/gestion/trunk/3.20.1]nodos/unt/gestion/trunk/3.20.1[/url]), luego cada universidad debe encargarse de migrar las personalizaciones ya que puede haber conflictos o personalizaciones sobre algo que se elimino, por eso deben revisar.

saludos.
4

Estuvimos viendo un poco que implica utilizar GIT, y hay un par de inconvenientes:

  1. Hay SVN EXTERNAL entre Guaraní Gestión y Autogestión, la carpeta src/pers_gestion de Autogestión apunta a la carpeta /personalizacion de Gestión, podes verlo aquí.
    La cuestión seria como reemplazar ese SVN EXTERNAL por algo de GIT.

https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/interfaces/3w#Personalizaciones

  1. Todas las pruebas que hacemos para asegurar una instalación de cero o migración exitosa están probadas con SVN, por lo cual si utilizan GIT no les aseguramos que va a funcionar todo como promete la documentación.

saludos.
2

Muchas gracias. Me ayuda mucho.

Una consulta más. Siguiendo los pasos de: https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.21.0/actualizacion_con_personalizaciones/gestion
Hago lo siguiente:

[ol]- svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/<siglas institución>/gestion/trunk/3.21.0 --ignore-ancestry

  • composer install;
  • ./toba instancia regenerar -i desarrollo[/ol]

Al ejecutar este ùltimo comando me sale:


La instancia es invalida. (la carpeta correspondiente no existe)

Viendo en comandos.log es porque no existe instalacion/i__desarrollo
Tiene sentido porque al hacer switch parto de trunk/3.21.0, la cual no tiene ninguna instalación. Es correcto esto?

Hola Agustín,

La carpeta ‘instalacion’ es local, no se versiona. Al hacer el switch a la nueva rama permanece intacta la correspondiente a la instalación original. No la tienen?

Saludos, Florencia.