PDF de programación - Control de Versiones con Subversion - Introducción

Imágen de pdf Control de Versiones con Subversion - Introducción

Control de Versiones con Subversion - Introduccióngráfica de visualizaciones

Publicado el 5 de Julio del 2017
646 visualizaciones desde el 5 de Julio del 2017
316,8 KB
25 paginas
Creado hace 17a (26/02/2007)
Control de Versiones con Subversion

Introducción

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

MADS Group - Departamento de Computación

Carlos Abalde ([email protected])
David Cabrero ([email protected])

Laura Castro ([email protected])

26 de febrero de 2007

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

1 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Contenido

1 Sistemas de Control de Versiones

2 Uso elemental de Subversion

3 Características avanzadas

4 Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

2 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Motivación

Lo único constante es el cambio.

Preguntas:

¿ Cómo controlo las versiones ?
¿ Qué cambios hay entre versiones ?
¿ Quién hizo tal cambio ?
¿ Por qué se hizo el cambio X ?
¿ Cómo vuelvo a una versión estable ?
¿ Cómo controlo los cambios simultáneos de varias
personas ?

Respuesta (Sistema de Control de Versiones).

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

3 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

¿ Qué es un control de versiones ?

Un sistema para la gestión y almacenamiento de todas las
versiones de los diferentes componentes de un proyecto de
desarrollo.
Características:

Existe un repositorio (centralizado o distribuido) común
donde se guardan todas las versiones
Los desarrolladores trabajan en su copia local e incorporan
las modificaciones al repositorio
El sistem registra las modificaciones en archivos y sus
comentarios asociados
El sistema gestiona las distintas versiones almacenadas en
el repositorio
El sistema permite el desarrollo de varias versiones
simultáneamente

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

4 / 23

Despliegue típico

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

5 / 23

RepositoryNetworkWorkingcopyWorkingcopyAliceBobcheck out, updatecommitcheck out, updatecommit Numeración, etiquetas y ramas

Numeración de versiones

Depende del sistema (por fichero, por commit)

Etiquetas

Nombres en vez de números

Ramas

Varias líneas de desarrollo simultáneas
Ejemplo: Rama estable y rama de desarrollo

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

6 / 23

Numeración, etiquetas y ramas

Numeración de versiones

Depende del sistema (por fichero, por commit)

Etiquetas

Nombres en vez de números

Ramas

Varias líneas de desarrollo simultáneas
Ejemplo: Rama estable y rama de desarrollo

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

6 / 23

Numeración, etiquetas y ramas

Numeración de versiones

Depende del sistema (por fichero, por commit)

Etiquetas

Nombres en vez de números

Ramas

Varias líneas de desarrollo simultáneas
Ejemplo: Rama estable y rama de desarrollo

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

6 / 23

BranchTrunkCreatereleasebranchBug fixesmergeRelease Locking

¿ Qué ocurre cuando dos desarrolladores modifican el
mismo fichero ?
Dos aproximaciones:

Strict locking.
Optimistic locking.

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

7 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

CVS

Concurrent Version System
Creado a partir del proyecto de Dick Grune (1986), siendo
aun hoy un desarrollo activo
Uso muy extendido

Por ejemplo, Sourceforge

Tiene algunas limitaciones ligadas a su diseño inicial que
empujan a su reemplazo por sistemas alternativos
Alternativas a CVS solucionan algunos de sus problemas,

Commits atómicos
Identificador de archivo distinto de path de archivo
Permiten trabajo desconectado
Soporte de branchs mejorado
. . .

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

8 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Alternativas a CVS

Arch

GIT

http://arch.fifthvision.net
En teoría, soporta un gran conjunto de funcionalidades
Escrito en shell scripts

http://www.kernel.org/git/
Usado en el desarrollo del kernel de Linux
Distribuido, no centralizado. Substituto de bitkeeper

Perforce

http://www.perforce.com
Comercial.

Subversion

http://subversion.tigris.org
“A compelling replacement for CVS”
Creado a semejanza de CVS, eliminado sus carencias

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

9 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Fundamentos (I)

Diferencias entre ficheros

$ cat hola1.c
#include <stdio.h>

int main(int argc, char* argv[]) {

printf("Hola mundo");

}
$ cat hola2.c
#include <stdio.h>

int main(int argc, char* argv[]) {

printf("Hola mundo!\n");

}
$ diff hola1.c hola2.c
4c4
<
---
>

printf("Hola mundo");

printf("Hola mundo!\n");

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

10 / 23

Fundamentos (II)

Parches
$ diff hola1.c hola2.c > parche
$ patch hola1.c < parche
$ cat hola1.c
#include <stdio.h>

int main(int argc, char* argv[]) {

printf("Hola mundo!\n");

}

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

11 / 23

Modus operandi

1 Para un proyecto nuevo, se crea un repositorio.
2 Cada desarrollador:

1 Obtiene una copia del repositorio (copia local).
2 Trabaja sobre su copia local.
3 Eventualmente:

Manda sus cambios al respositorio.
Actualiza su copia local con los cambios de otros
desarrolladores.

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

12 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Comandos básicos

Desde el punto de vista de los usuarios

svn

Desde el punto de vista del administrador

svnadmin

Otros comandos

svnlook
svnserve
svnversion

Ayuda

svn help
svn help copy
svnadmin help

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

13 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Creación de un repositorio

Creamos un repositorio test en el directorio
path to repository/SVN/
svnadmin create path to repository/SVN/test
Atención a path to repository/SVN/test/README.txt

“This is a Subversion repository; use the
’svnadmin’ tool to examine it. Do not add,
delete, or modify files here unless you know how
to avoid corrupting the repository.”

URL (local): file:///path to repository/SVN/test
La estructura de directorios es libre, sin embargo

El uso natural es crear un repositorio para cada proyecto.
A diferencia de en CVS, la numeración de versiones es
global para cada repositorio, y por ello la existencia de
repositorios con más de un proyecto no es razonable

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

14 / 23

Inserción de datos en el repositorio

Podemos comenzar a añadir ficheros al repositorio desde
cero, pero
Si ya disponemos de una estrucutra inicial, podemo usarla
para popular el repositorio
svn import PATH URL

En nuestro caso

svn import path inital files
file:///path to repository/SVN/test

Variable de entorno EDITOR

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

15 / 23

Descarga de una copia de trabajo

Para comenzar a trabajar con el repositorio es necesario
descargar nuestra copia de trabajo personal

svn checkout URL PATH
HEAD (última versión) en el repositorio

Directorio .svn
Manipulación básica de archivos

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

svn copy SRC DEST
svn move SRC DEST
svn add PATH
svn rm TARGET
svn mkdir PATH

(UDC)

Control de Versiones con Subversion

26 de febrero de 2007

16 / 23

Control de Versiones con

Subversion

Contenido

Sistemas de Control de
Versiones

Uso elemental de Subversion

Características avanzadas

Bibliografía

Edición de archivos

Sobre la copia de trabajo los archivos pueden modificarse
con normalidad
Para comprobar los cambios hechos respecto a l
  • Links de descarga
http://lwp-l.com/pdf4882

Comentarios de: Control de Versiones con Subversion - Introducción (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