control de versiones para binarios

Germán Póo-Caamaño gpoo en calcifer.org
Mar Sep 8 17:51:20 CLT 2009


On Tue, 2009-09-08 at 15:19 -0400, Gonzalo Diaz Cruz wrote:
> On Lun 07 Sep 2009 15:54:46 Germán Póo-Caamaño escribió:
> > [...]
>   Uno de los requerimientos que planteó Víctor Hugo fue
> > eliminar historia, cuyo objetivo (infiero), es que el repositorio no
> > crezca demasiado.
> > 
> > Subversion es muy ineficiente en almacenar los datos.  Por ejemplo, en
> > el caso de GNOME:
> > 
> > * El repositorio CVS (1997-04/2002) ocupa 12,1GB.
> > * El repositorio de Subversion (1997-04/2009) ocupa 24,1GB
> > * El repositorio git (1997-09/2009) ocupa 4,7GB
> > 
> > git ocupa mucho menos espacio y tiene mucho más historia.  Pero, si
> > quieres datos de un repositorio a un mismo instante, Keith Packard hizo
> > el ejercicio sobre Mozilla el 2007:
> > 
> > - CVS: 2,7GB
> > - Subversion: 8,2GB
> > - git: 450MB
> > 
> > git es bueno comprimiendo los objetos que almacena.
> > 
> > Para los interesados en las tripas de git, recomiendo leer el capítulo 9
> > de ProGit (http://progit.org/book/ch9-1.html): Gasfitería y Porcelana.
> > No es que se meta tan al interior, pero es lo mejor que he encontrado
> > hasta el momento.
> > 
> Pregunta... 
> 
> Dados esos numeros del proyecto gnome, ¿tienes a mano la cifra del peso total 
> del código fuente, conciderandolo como "copia de trabajo"?

En el caso de git, 8GB es la copia de trabajo, incluyendo los 4,7GB de
la historia.

> Y más o menos cuantas revisiones llevan (sorry lo ignorante, pero no soy muy 
> amigo de gnome :B) en cada repositorio.

Bueno, eso depende.  Lo que sucede es que con git, lo que se tiene es un
montón de repositorios pareciendo ser uno; a diferencia de CVS en donde
es un repositorio con muchos módulos.

Entonces, habría que preguntarse cuantas revisiones lleva tal o cual
programa; pero no sé si ese dato en sí pueda ser útil ¿por qué te
gustaría saberlo? (me refiero al dato sólo, porque combinado con otros
factores tiene mucho sentido).

Evolution debe ser el programa más grande, y no hace mucho detecté un
error en la migración (el cual se puede explicar), porque tiene más de
3000 ramas de desarrollo, cuando en realidad debieran ser alrededor de
200.  ¿Qué revisión te interesa saber? ¿cuál rama en particular?

> Como para contrastar el peso y "el paso del tiempo" en cada repositorio y 
> entender a que se debe el crecimiento.

Para eso hay más factores a considerar que sólo el número de revisiones.
Pero sí, es interesante conocer la edad del código (según Parnas el
código envejece).

-- 
Germán Póo-Caamaño
Concepción - Chile
http://www.calcifer.org/



Más información sobre la lista de distribución Linux