[Modularit-users] preguntas sobre git

Pau Garcia i Quiles pgquiles at elpauer.org
Sat Dec 27 13:42:14 WET 2008


2008/12/27 Agustín Benito (Toscalix) <abenito at modularit.org>:
> Hola Pau,
>
> verás, acabamos de publicar el proyecto ModularIT
>
> http://www.modularit.org
>
> y hemos decidido usar git. Como sé que tú conoces la herramienta me gustaría
> que nos dieras tu opinión sobre cómo podemos estructurarlo para conseguir
> tres objetivos:
>
> 1.- Que exista una versión de desarrollo donde quienes contribuyan puedan
> hacer lo que les venga en gana
> 2.- disponer de una copia maestra de la versión de desarrollo que permita a
> una persona nueva descargarsela y jugar sin tener que chuparse las
> contribuciones de otros.
> 3.- Que aquellas contribuciones de otras personas que sean de interés, el
> release manager las pueda pasar a una versión que, siendo inestable (o no
> siendo considerada estable), pueda servir de "nueva copia maestra"
> 4.- Disponer de una versión estable que es la que recomendamos a aquellos que
> quieran usar ModularIT.
> 5.- Disponer de una versión que denominamos "Production version" que es la
> que, además de ser estable, ha sido soportada y mantenida al menos 6 meses.

Bueno, así a bote pronto (me voy de viaje dentro de un rato y volveré
dentro de una semana), lo que yo haría es:

- Punto 1: crearía una rama "experimental"

- Punto 2: usaría la rama "master". También podeis experimentar en
"master" y tener una rama a la que llameis "devel", "trunk" o como
querais, en git todas las ramas son igual de importantes, así que esto
es sólo cuestión de nombre. Lo que ocurre es que yo, cuando veo una
rama "master", espero que aquello compile y hasta medio funcione,
mientras que si veo una rama que se llama "experimental", sé que
aquello puede formatearme el disco duro y comerse al gato.

- El punto 3 se puede y suele hacer usando git-cherry-pick para coger
algún parche concreto de una rama, o incluso haciendo merges completos
de una rama que sabes que es buena y que te vale todo (o casi todo,
siempre se puede hacer algún revert).

- Para el punto 5, lo normal es que hagais tags (que al final es casi
como una rama). Si usais tags, es interesante saber que git-tag no
hace por defecto lo que uno espera:
http://www.rockstarprogrammer.org/post/2008/oct/16/git-tag-does-wrong-thing-default/

El punto 4 no lo acabo de entender. ¿Son versiones que no tienen
soporte (al estilo de lo que hace Canonical con Ubuntu, que sólo sacan
una versión Long Term Support cada 30 meses), o es una rama de
desarrollo, o qué es?

Una cosa que no me queda clara es cómo vais a organizar los commits:
¿todo el mundo, hasta el desconocido más desconocido, puede hacer
commits en "experimental"? ¿o "experimental" es para un grupito de
gente que ya tiene cierto "prestigio" en el proyecto?

Si es lo primero (supongo que no), personalmente lo desaconsejo,
porque puede llevar a que "experimental" se transforme en un bodrio
rápidamente. Si es lo segundo, sería interesante que la gente que
todavía no puede hacer commit en "experimantal" pudiera tener sus
propias ramas alojadas en git.modularit.org (es más que nada una
facilidad, para no tener que irse a alojarlas a github, repo.or.cz,
gitorious o similar).

Espero haber contestado más o menos a lo que me preguntabas.

>
> Quizás sea positivo que leas esto:
>
> http://www.modularit.org/wiki/modularit/Contact
>
> En todo caso, la duda principal la tenemos en los dos primeros puntos. Mi idea
> inicial es establecer dos master de desarrollo, uno como copia maestra y otro
> para que la peña juegue con ella, sin embargo, otras personas del equipo
> piensan que mantener una sola es suficiente, dadas las funcionalidades del
> git.
>
> Tenemos experiencia trabajando con svn y, nuestra gente de desarrollo ha usado
> ampliamente sistemas de control de versiones distribuidos, pero es nuestra
> primera experiencia en el uso de estas herramientas en un proyecto liberado
> por nosotros, de modo que es la primera vez que debemos tomar decisiones
> sobre una estructura en algo como git para que la usen otros, además de
> nosotros.
>
> Si nos equivocamos, siempre podemos cambiar, pero nos gustaría al menos
> conocer tu opinión. Asumo que tendrás preguntas adicionales que hacer.
> Envíamelas o date de alta en la lista del proyecto y participa con nosotros
> en la toma de esta decisión, si te apetece:
>
> http://lists.modularit.org/mailman/listinfo/modularit-users
>
> Si crees que alguien más puede ayudarnos, no dudes en darme su contacto o le
> envías directamente este correo.
>
> Gracias por tu tiempo, que seguro es escaso.
> --
> Agustín Benito (Toscalix)
> ModularIT Community Manager
> abenito at modularit.org
> http://www.modularit.org
>



-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)


More information about the Modularit-users mailing list