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 17 de Septiembre del 2020
518 visualizaciones desde el 17 de Septiembre del 2020
61,6 KB
20 paginas
cvs

Concurrent Version System

1

>Que 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.

2

>Para que sirve cvs?

Para responder a las preguntas:

>Quien hizo un cambio?

>Cuando se hizo?

>Porque se hizo?

>Que otros cambios se hicieron al mismo tiempo?

3

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

4

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:
cvs checkout hola

5

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.

6

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:
cvs commit

7

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:
cvs diff -D’30 minutes ago’.

8

Etiquetas

O como marcar que una version funciona bien de forma que sea
facil recuperarla en el futuro:

cvs tag VERSION 0 1

9

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

7 May 2003 11:26:30 -0000

1.1.1.1

+++ ejemplo.c

7 May 2003 12:10:00 -0000

1.2

@@ -4,6 +4,6 @@

int main(void)

{

-

+

}

printf("Hola mundo");

printf("Hola mundo\n");

exit(0);

10

Anotaciones

O la respuesta a la pregunta: > A quien 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):

printf("Hola mundo\n");

(quintela 07-May-03):

exit(0);

(quintela 07-May-03): }

11

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

EJEMPLO: 1.1.1

keyword substitution: kv

total revisions: 3;

selected revisions: 3

description:

----------------------------

revision 1.2

date: 2003/05/07 12:10:00; author: quintela; state: Exp; lines: +1 -1

Add endline

----------------------------

revision 1.1

date: 2003/05/07 11:26:30; author: quintela; state: Exp;

branches: 1.1.1;

Initial revision

----------------------------

revision 1.1.1.1

date: 2003/05/07 11:26:30; author: quintela; state: Exp; lines: +0 -0

Hola

=============================================================================

12

Añadir/Borrar cheros

Crear chero

cvs add new file

cvs commit new file

rm -f old file

cvs del old file

cvs commit old file

13

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

14

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

15

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);

}

>>>>>>> 1.9

16

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.

17

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.

18

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.

...

19

Mas informacion

http://www.cvshome.org

20
  • Links de descarga
http://lwp-l.com/pdf18215

Comentarios de: cvs - Concurrent Version System (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad