Control de Versiones con subversion

Post on 12-Aug-2015

1,023 views 2 download

Tags:

transcript

IntroduccionSVN en accion

Control de Versiones

Benjamın Perezjosebenjaminp@gmail.com

Departamento de InformaticaUniversidad Mayor de San Simon

21 de noviembre de 2007

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Parte I

Que es un Control de Versiones?

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Puntos importantes

Desarrollo en equipo.

Integracion de cambios(merge).

Guarda historial.

Recuperacion de versiones.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Puntos importantes

Desarrollo en equipo.

Integracion de cambios(merge).

Guarda historial.

Recuperacion de versiones.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Puntos importantes

Desarrollo en equipo.

Integracion de cambios(merge).

Guarda historial.

Recuperacion de versiones.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Puntos importantes

Desarrollo en equipo.

Integracion de cambios(merge).

Guarda historial.

Recuperacion de versiones.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Puntos importantes

Cuando debo usarlo?

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Conceptos Basicos

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Conceptos Basicos

Servidor: Mantiene el codigo oficial (repositorio)

Cliente: Mantiene una copia de trabajo o borrador

Modulo: Conjunto de archivos y directorios

Repositorio: Contiene los modulos

Usuario: Persona autorizada a trabajar con un modulo

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Conceptos Basicos

Servidor: Mantiene el codigo oficial (repositorio)

Cliente: Mantiene una copia de trabajo o borrador

Modulo: Conjunto de archivos y directorios

Repositorio: Contiene los modulos

Usuario: Persona autorizada a trabajar con un modulo

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Conceptos Basicos

Servidor: Mantiene el codigo oficial (repositorio)

Cliente: Mantiene una copia de trabajo o borrador

Modulo: Conjunto de archivos y directorios

Repositorio: Contiene los modulos

Usuario: Persona autorizada a trabajar con un modulo

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Conceptos Basicos

Servidor: Mantiene el codigo oficial (repositorio)

Cliente: Mantiene una copia de trabajo o borrador

Modulo: Conjunto de archivos y directorios

Repositorio: Contiene los modulos

Usuario: Persona autorizada a trabajar con un modulo

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Conceptos Basicos

Servidor: Mantiene el codigo oficial (repositorio)

Cliente: Mantiene una copia de trabajo o borrador

Modulo: Conjunto de archivos y directorios

Repositorio: Contiene los modulos

Usuario: Persona autorizada a trabajar con un modulo

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Arquitectura SVN

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Compartiendo Archivos

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

Problema que hay que evitar

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

SVN en accion: Commandos Basicos

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Instalando

Instalacion Basica

$ sudo apt-get install subversion libapache2-svn

Extras

$ sudo apt-get install websvn

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Instalando

Instalacion Basica

$ sudo apt-get install subversion libapache2-svn

Extras

$ sudo apt-get install websvn

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

El Repositorio

Crear un repositorio

$ svnadmin create <nombre repositorio>

Ayuda!

$ svnadmin help [comando]

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

El Repositorio

Crear un repositorio

$ svnadmin create <nombre repositorio>

Ayuda!

$ svnadmin help [comando]

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

La copia de trabajo

Importar ficheros fuente al repositorio

$ svn import [origen] <ruta repositorio>

Crear copia de trabajo (checkout)

$ svn co <ruta repositorio>

Formas de Acceso al repositorio

file:/// http:// svn+ssh://

Ejemplohttp://localhost/pruebas

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

La copia de trabajo

Importar ficheros fuente al repositorio

$ svn import [origen] <ruta repositorio>

Crear copia de trabajo (checkout)

$ svn co <ruta repositorio>

Formas de Acceso al repositorio

file:/// http:// svn+ssh://

Ejemplohttp://localhost/pruebas

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

La copia de trabajo

Importar ficheros fuente al repositorio

$ svn import [origen] <ruta repositorio>

Crear copia de trabajo (checkout)

$ svn co <ruta repositorio>

Formas de Acceso al repositorio

file:/// http:// svn+ssh://

Ejemplohttp://localhost/pruebas

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Trabajando con la copia

Secuencianormal de uso

$ svn update$ svn ci

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Revisiones

Ver logs de revisiones

$ svn logs

Ver diferencias entre revisiones

$ svn diff

Ver archivo en revisiones anteriores

$ svn cat <nombre archivo>

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Revisiones

Ver logs de revisiones

$ svn logs

Ver diferencias entre revisiones

$ svn diff

Ver archivo en revisiones anteriores

$ svn cat <nombre archivo>

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Revisiones

Ver logs de revisiones

$ svn logs

Ver diferencias entre revisiones

$ svn diff

Ver archivo en revisiones anteriores

$ svn cat <nombre archivo>

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Conflictos

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Conflictos

Como solucionar conflictos?

<<<<<<< .mine--esto no es una linea en conflicto=======--esto es una linea en conflicto>>>>>>> .r18module Interprete.Main where-- una funcion mainmain = do putStr "Hola"

Indicar que ha sido resuelto

$ svn resolved <nombre archivo>

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Conflictos

Como solucionar conflictos?

<<<<<<< .mine--esto no es una linea en conflicto=======--esto es una linea en conflicto>>>>>>> .r18module Interprete.Main where-- una funcion mainmain = do putStr "Hola"

Indicar que ha sido resuelto

$ svn resolved <nombre archivo>

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Conflictos

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Basta de bla bla

SVN en accion!!!

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Interfaces Amigables

Interfaces Amigables

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

WebSVN

Una interfaz web

Permite ver contenido del repositorio y . . .cambios entre versiones

http://websvn.tigris.org

Si se te ocurrio la mala idea de usar Windows . . .

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

WebSVN

Una interfaz web

Permite ver contenido del repositorio y . . .cambios entre versiones

http://websvn.tigris.org

Si se te ocurrio la mala idea de usar Windows . . .

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

TortoiseSVN

http://tortoisesvn.tigris.org

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

TortoiseSVN

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

SVN es una Belleza

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Desventajas

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Desventajas

El manejo de cambio de nombres de archivos no es completo.

Subversion no implementa algunas operacionesadministrativas.

Subversion requiere que cada carpeta en el lado del clienteincluya una carpeta oculta ”.svn”.

No resuelve el problema de aplicar repetidamente parchesentre ramas.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Desventajas

El manejo de cambio de nombres de archivos no es completo.

Subversion no implementa algunas operacionesadministrativas.

Subversion requiere que cada carpeta en el lado del clienteincluya una carpeta oculta ”.svn”.

No resuelve el problema de aplicar repetidamente parchesentre ramas.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Desventajas

El manejo de cambio de nombres de archivos no es completo.

Subversion no implementa algunas operacionesadministrativas.

Subversion requiere que cada carpeta en el lado del clienteincluya una carpeta oculta ”.svn”.

No resuelve el problema de aplicar repetidamente parchesentre ramas.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Desventajas

El manejo de cambio de nombres de archivos no es completo.

Subversion no implementa algunas operacionesadministrativas.

Subversion requiere que cada carpeta en el lado del clienteincluya una carpeta oculta ”.svn”.

No resuelve el problema de aplicar repetidamente parchesentre ramas.

Benjamın Perez josebenjaminp@gmail.com Control de Versiones

IntroduccionSVN en accion

InstalacionComandos Basicos

Referencias

http://svnbook.red-bean.com/nightly/en/svn-book.html

http://www.guia-ubuntu.org/index.php?title=Subversion

http://www.ciclope.info/recetas/recetas/receta02.html

http://ubuntubolivia.org

Benjamın Perez josebenjaminp@gmail.com Control de Versiones