PDF de programación - CVS Concurrent Version System

Imágen de pdf CVS Concurrent Version System

CVS Concurrent Version Systemgráfica de visualizaciones

Publicado el 11 de Octubre del 2019
119 visualizaciones desde el 11 de Octubre del 2019
534,9 KB
26 paginas
CVS

Concurrent Version System

Juan Quintela

quintela@dc.fi.udc.es

Universidade da Coruna

Mandrakesoft

CVS p. 1/21

¿QuØ es CVS?

CVS es un sistema de control de versiones de cheros.

¿QuØ es CVS?

CVS es un sistema de control de versiones de cheros.
concurrente: permite varios usuarios simultaneos.

CVS p. 2/21

¿QuØ es CVS?

CVS es un sistema de control de versiones de cheros.
concurrente: permite varios usuarios simultaneos.
Se usa cuando es importante ser capaz de acceder a
versiones antiguas de esos cheros.

¿Para quØ sirve CVS?

Para responder a las preguntas:

¿QuiØn hizo un cambio?

CVS p. 3/21

¿Para quØ sirve CVS?

Para responder a las preguntas:

¿QuiØn hizo un cambio?
¿CuÆndo se hizo?

¿Para quØ sirve CVS?

Para responder a las preguntas:

¿QuiØn hizo un cambio?
¿CuÆndo se hizo?
¿PorquØ se hizo?

CVS p. 3/21

¿Para quØ sirve CVS?

Para responder a las preguntas:

¿QuiØn hizo un cambio?
¿CuÆndo se hizo?
¿PorquØ se hizo?
¿QuØ otros cambios se hicieron al mismo tiempo?

Creando un repositorio

Decidir donde lo vamos a colocar:
mkdir /home/master

CVS p. 4/21

Creando un repositorio

Decidir donde lo vamos a colocar:
mkdir /home/master
Inicializarlo:
cvs -d /home/master init

Creando un repositorio

Decidir donde lo vamos a colocar:
mkdir /home/master
Inicializarlo:
cvs -d /home/master init
Decirle a CVS donde esta el repositorio:
export CVSROOT=/home/master

CVS p. 4/21

Incorporando un projecto existente

Poner el projecto bajo control de revisiones:
cvs import hola HOLA HOLA_1

Incorporando un projecto existente

Poner el projecto bajo control de revisiones:
cvs import hola HOLA HOLA_1
Poner el projecto bajo control de revisiones con un
comentario:
cvs import -m "Version inicial"hola HOLA
HOLA_1

CVS p. 5/21

Incorporando un projecto existente

Poner el projecto bajo control de revisiones:
cvs import hola HOLA HOLA_1
Poner el projecto bajo control de revisiones con un
comentario:
cvs import -m "Version inicial"hola HOLA
HOLA_1
Crear una copia de trabajo:

Integrando cambios

Ver que cheros han cambiado con respecto al
repositorio:
cvs release.

CVS p. 6/21

Integrando cambios

Ver que cheros han cambiado con respecto al
repositorio:
cvs release.
Integrar cambios que hemos hecho en el repositorio:
cvs commit -m "poner
n final"ejemplo.c.

Integrando cambios

Ver que cheros han cambiado con respecto al
repositorio:
cvs release.
Integrar cambios que hemos hecho en el repositorio:
cvs commit -m "poner
n final"ejemplo.c.
Integrar cambios del repositorio en nuestra copia:
cvs update.

CVS p. 6/21

Update model

CVS se basa en el update model

Primero actualizar nuestra copia al ultimo valor del
repositorio:
cvs update

Update model

CVS se basa en el update model

Primero actualizar nuestra copia al ultimo valor del
repositorio:
cvs update
Ver que no hay conictos y que todo funciona bien:
cvs release

CVS p. 7/21

Update model

CVS se basa en el update model

Primero actualizar nuestra copia al ultimo valor del
repositorio:
cvs update
Ver que no hay conictos y que todo funciona bien:
cvs release
Actualizar el repositorio:

Ver diferencias

Ver cambios de nuestra copia con el repositorio:
cvs diff.

CVS p. 8/21

Ver diferencias

Ver cambios de nuestra copia con el repositorio:
cvs diff.
Ver cambios de un chero cvs diff
nombre_fichero.

Ver diferencias

Ver cambios de nuestra copia con el repositorio:
cvs diff.
Ver cambios de un chero cvs diff
nombre_fichero.
Ver diferencias con las versiones de ayer:
cvs diff -D’yesterday’.

CVS p. 8/21

Ver diferencias

Ver cambios de nuestra copia con el repositorio:
cvs diff.
Ver cambios de un chero cvs diff
nombre_fichero.
Ver diferencias con las versiones de ayer:
cvs diff -D’yesterday’.
Ver diferencias con las versiones de hace 30 minutos:

Etiquetas

O como marcar que una versin funciona bien de forma
que sea facil recuperarla en el futuro:
cvs tag VERSION_0_1

CVS p. 9/21

Etiquetas (II)

quintela$ cvs diff -rVERSION_0_0_1
Index: ejemplo.c
===================================================================
RCS file: /home/master/ejemplo3/ejemplo.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -p -r1.1.1.1 -r1.2
--- ejemplo.c
+++ ejemplo.c
@@ -4,6 +4,6 @@

7 May 2003 11:26:30 -0000
7 May 2003 12:10:00 -0000

1.1.1.1
1.2

Anotaciones

O la respuesta a la pregunta: ¿ A quiØn le echo la culpa ?
quintela$ cvs annotate ejemplo.c

Annotations for ejemplo.c
***************
1.1
1.1
1.1
1.1
1.1
1.1
1.2
1.1
1.1

(quintela 07-May-03):
(quintela 07-May-03): #include <stdio.h>
(quintela 07-May-03): #include <stdlib.h>
(quintela 07-May-03):
(quintela 07-May-03): int main(void)
(quintela 07-May-03): {
(quintela 07-May-03):
(quintela 07-May-03):
(quintela 07-May-03): }

printf("Hola mundo\n");
exit(0);

CVS p. 11/21

Historia de un chero

quintela$ cvs log ejemplo.c
RCS file: /home/master/ejemplo3/ejemplo.c,v
Working file: ejemplo.c
head: 1.2
branch:
locks: strict
access list:
symbolic names:

VERSION_0_0_1: 1.1.1.1
EJEMPLO_2: 1.1.1.1

Aæadir/Borrar cheros

Crear chero

CVS p. 13/21

Aæadir/Borrar cheros

Crear chero
cvs add new_file

Aæadir/Borrar cheros

Crear chero
cvs add new_file
cvs commit new_file

CVS p. 13/21

Borrar chero

rm -f old_file

Borrar chero

rm -f old_file
cvs del old_file

CVS p. 14/21

Borrar chero

rm -f old_file
cvs del old_file
cvs commit old_file

Renombrar un chero

mv old_name new_name

CVS p. 15/21

Renombrar un chero

mv old_name new_name
cvs add new_name

Renombrar un chero

mv old_name new_name
cvs add new_name
cvs del old_name

CVS p. 15/21

Renombrar un chero

mv old_name new_name
cvs add new_name
cvs del old_name
cvs commit -m "mv old_name
new_name.old_name new_name

Manejando Conictos

$ cvs update
cvs update: Updating .
RCS file: /u/src/master/httpc/httpc.c,v
retrieving revision 1.8
retrieving revision 1.9
Merging differences between 1.8 and 1.9 into httpc.c
rcsmerge: warning: conflicts during merge
cvs update: conflicts found in httpc.c
C httpc.c

CVS p. 16/21

Manejando Conictos (II)

host_info = gethostbyname (hostname);

<<<<<<< httpc.c

if (! host_info) {

fprintf (stderr, "%s: host not found: %s\n", progname, hostname);
exit (1);

}

=======

if (! host_info) {

printf ("httpc: no host");
exit (1);

Ramas

Todo lo que hemos visto hasta aqui se relaciona con
HEAD, la rama principal.

CVS p. 18/21

Ramas

Todo lo que hemos visto hasta aqui se relaciona con
HEAD, la rama principal.
A veces nos interesan poder cambiar cosas en una
version ya creada, por ejemplo un bugx, y que no
quieres que tambien tomen los cambios de la version
actual.

cvsup

Forma de ver cambios relacionados como uno solo
cambio.

CVS p. 19/21

cvsup

Forma de ver cambios relacionados como uno solo
cambio.
Ejemplo: cambiar el numero de argumentos de una
funcion.

cvsup

Forma de ver cambios relacionados como uno solo
cambio.
Ejemplo: cambiar el numero de argumentos de una
funcion.
Al usuario le interesa ver como un todo todos los
cambios a cheros individuales.

CVS p. 19/21

BitKeeper, Subversion, Arch, perforce

Solucionan algunos de los problemas de CVS:

commits atomicos.

BitKeeper, Subversion, Arch, perforce

Solucionan algunos de los problemas de CVS:

commits atomicos.
identicador de chero distinto de path de chero.

CVS p. 20/21

BitKeeper, Subversion, Arch, perforce

Solucionan algunos de los problemas de CVS:

commits atomicos.
identicador de chero distinto de path de chero.
permiten trabajo desconectado.

BitKeeper, Subversion, Arch, perforce

Solucionan algunos de los problemas de CVS:

commits atomicos.
identicador de chero distinto de path de chero.
permiten trabajo desconectado.
Tienen ramas que funcionan.

CVS p. 20/21

BitKeeper, Subversion, Arch, perforce

Solucionan algunos de los problemas de CVS:

commits atomicos.
identicador de chero distinto de path de chero.
permiten trabajo desconectado.
Tienen ramas que funcionan.
...

MÆs informacin

http://www.cvshome.org

CVS p. 21/21
  • Links de descarga
http://lwp-l.com/pdf16704

Comentarios de: CVS Concurrent Version System (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad