Posts Tagged ‘svn’

Aprendiendo los sistemas de control de versiones: Introducción

junio 25, 2009

A ver si sé explicar lo que es un sistema de control de versiones.
Pongamos en primer caso el ejemplo sencillo de controlar las versiones de un archivo de… pongamos un archivo de texto (no tiene porque ser siempre de código) que hago yo mismo.

Y sigamos suponiendo que trabajamos con él como siempre: Modificando un sólo fichero.
Ahora dejamos de lado el fichero durante un tiempo. Volvemos a él y nos fijamos en un parrafo que hay en medio del fichero del texto acerca de unas helices que tienen una forma en ese.
Y yo me pregunto… ¿Por qué puse ese texto? ¿Acaso hubiera puesto en alguna versión algo más apropiado que “forma en ese” o quizás era algo peor?
Si suponemos que hacemos copias de seguridad regulares de nuestros ficheros es posible que veamos el cambio en alguna de ellas.
No obstante esto tiene algunos inconvenientes: Por un lado hay que leerse todo el fichero completo de la copia de seguridad (aunque alguno sabrá que la utilidad diff ayuda a ello).

Por otro lado es harto posible que junto al cambio del texto no nos aparezca la razón o la descripción del cambio en cuestión.
Todos estos pequeños problemas los gestiona el sistema de control de versiones. Qué cambios haces, en qué lineas del texto y qué razón o descripción le das al cambio son guardadas.
Ahora que lo hemos entendido hagamos un ejercicio de abstracción. Esto es mi documento pero ¿qué pasa si es un documento compartido, qué pasa si es editado por varias personas?
Si la descripción que le pone una de las personas es insuficiente habrá que preguntarle pero ¿Como sabemos quien hizo el cambio?
Pues, claro que sí, el sistema de control de ver

siones también lleva el registro no sólo de qué se modifica y qué descripción se le da sino de también de qué usuario del sistema lo ha modificado.

Esto es un gran avance pero aún hay más. Ahora en vez de abstraernos en cuánto a los usuarios nos vamos a abstraer con respecto al código fuente de un programa.
Es el tema de las ramas. Casi seguro que conoceréis el navegador libre Firefox. Y seguro que habréis notado las notables diferencias entre las versiones 1.x, 2.x y 3.x.
Pues bien, Firefox no tiene un sistema de control de versiones por cada rama sino que tiene un solo sistema de control de versiones que, ojo al dato, soporta ramas.
Es decir, cuándo hacemos una modificación del código podemos escoger en qué rama hacemos la modificación. (Aunque la mayoría de los usuarios trabajamos en una rama u otra del código sin llegar a escoger rama conscientemente)
Resumiendo:
– Modificar un fichero de la manera clásica es muy complicado con respecto a los cambios que se han hecho
– Los sistemas de control de versiones llevan un registro de los cambios en las lineas y ficheros dónde se han producido
– Los SCV también gestionan la autoría de los cambios.
– Los SCV también soportan varias ramas de desarrollo en paralelo.
Seguiremos con el tema.

Aprendiendo los sistemas de control de versiones: Presentación

junio 25, 2009

Bien. Tengo un lío en la cabeza con los sistemas de control de versiones que no veáis.
Sé lo que es cvs, sé más o menos como funciona svn, sé las mil y una maravillas de git. También sé algunos de los comandos claves de cada una de las herramientas.
Pero me encuentro en un mar de dudas. No sé, a priori, con qué problemas me voy a encontrar y cuándo es mejor uno que otro.
Además que me corre prisa porque ahora voy a desarrollar el Super Grub Disk con más gente, en grupo, como tiene que ser y tengo que saberme manejar.

En esta serie de artículos intentaré haceros entender lo que yo voy aprendiendo mientras experimento con estas herramientas y diferentes situaciones.
A ver si hacemos una guía para tontos o algo parecido.
Venga, nos leemos.

Pensando en migrar Super Grub Disk de forja

mayo 7, 2009

Ahora mismo Super Grub Disk tiene dos servicios en forjas.

La lista de correo está alojada en la forja de rediris y encima en otro proyecto como es Nowin (aunque eso no es tan grave porque en el futuro (esperemos que cercano) incluirá a Super Grub Disk.

El svn está en la forja de forjamari.

La lista de correo no sé si va muy bien. He subscrito a un par de usuarios y uno de ellos aún no he recibido el mail que le enviado (y eso que ha mirado en el spam). Del otro espero respuesta.

El tema del svn en forjamari es muy singular. No tiene una puñetera lista de correo para seguir los cambios que otros puedan hacer al svn.

Así por de pronto creo que podría marchar a berlios.de.

Estoy buscando algo fiable, que tenga lista de correo y svn y que no sea savannah porque son muy estrictos.

¿Alguna idea?

Ah. Tengo dominio propio pero globat punto com es mejorable y si no puedo hacer ni lista de correo creo que svn menos.