SlideShare una empresa de Scribd logo
1 de 17
Sistemas de control de versiones y svn Formación de comunidad para @emergya Junio 2010 @davidjguru [email_address]
Objetivos 1.-Aclarar conceptos sobre control de versiones 2.-Madurar conceptos que ya sepamos 3.-Clarificar la importancia de un buen histórico 4.-Prácticar
Índice 1.-Introducción a conceptos 2.-Justificación del uso de un sistema de control de versiones 3.-Historia de los sistema de control de versiones 4.-Vista general de subversion  5.-Ciclo básico de trabajo con svn 6.-Problemas comunes con svn
Introducción a conceptos Repositorio: Lugar  donde se puede almacenar -esto es, donde se accede, se guardan, se extraen, se consultan- elementos software. Suelen contar con algunas medidas que los diferencia de simples dispositivos de almacenamiento.  Control de versiones: Conjunto de medidas para gestionar el estado en el que se encuentra en un momento dado nuestro producto software. Control de versiones centralizado:  Un nodo central para albergar todo el código que esta a disposición de todos los usuarios.  Control de versiones distribuido:  Un sistema de ficheros distribuidos. Cada usuario sincroniza su clon.
Justificación del uso Trabajo concurrente Manejo de diferencias Registro del historial de cambios Identificación de conflictos Facilitar la colaboración Revertir estados
Historia de los sistemas de control de versiones
Intro a svn VCS centralizado Lanzado en el año 2000 Licencia de uso Apache (cumple las cuatro libertades) Mucho uso en comunidades openSource Muy extendido en el entorno empresarial
Características de svn Recoge  casi  todas las de CVS Único estado común en un instante para todo el proyecto Permite accesos distintos (Apache, svnserve y local) Distintas herramientas para administrar, revisar y explorar el repositorio
Partes y acceso a svn Ocho módulos distintos: svn, svnversion, svnlook, svnadmin, mod_dav_svn, svndumpfilter, svnserve, svnsync. Accesos distintos: file:/// http:// svn:// https:// svn + ssh://
Convenciones sobre svn
Ciclo básico de trabajo con svn //Prepara tu sistema [email_address] : ~$ sudo apt-get install subversion [email_address] : ~$ sudo mkdir /var/svn/ //Crea un proyecto de trabajo [email_address] :~$ sudo svnadmin create /var/svn/test //Da permisos de trabajo [email_address] : ~$ sudo chown -R david: /var/svn/ //Mediante checkout, obten tu copia de trabajo [email_address] : ~$ svn checkout file:///var/svn/test
Ciclo básico de trabajo con svn //Crea la estructura de trabajo recomendada [email_address] : ~$ cd test/ [email_address] : ~/test$ mkdir trunk tags branches //Añadirla al repositorio [email_address] : ~/test$ svn add trunk tags branches //Realizar el commit de estos cambios [email_address] : ~/test$ svn commit -m ”Se ha creado la estructura básica”
Ciclo básico de trabajo con svn //Genera un fichero de prueba en la copia local [email_address] : ~/test$ cd trunk [email_address] : ~/test/trunk$ vim fichero_prueba.txt //Se añade el nuevo fichero a la copia local de trabajo [email_address] : ~/test/trunk$ svn add fichero_prueba.txt //Se sube el cambio al repositorio [email_address] : ~/test/trunk$ svn commit -m “Subida del fichero de prueba”
Ciclo básico de trabajo con svn / /Obten la última version del proyecto [email_address] : ~/test/trunk$ svn up //Obten la información de la evolución del proyecto [email_address] : ~/test/trunk$ svn log //Comprueba los cambios entre dos revisiones [email_address] : ~/test/trunk$ svn diff -r 12:1234
Ciclo básico de trabajo con svn //Unifica logs en un mismo archivo [email_address] : ~/test/trunk$ svn log -r 14 > mylog [email_address] : ~/test/trunk$ svn log -r 17 >> mylog [email_address] : ~/test/trunk$ svn log -r 19 >> mylog //Comprueba el contenido de los logs [email_address] : ~/test/trunk$ cat mylog //Haz un clean del repositorio [email_address] : ~/test/trunk$ svn cleanup /test/
Problemas comunes con svn Problemas relacionados con renombrado Problemas relacionados con ficheros de metainformación Problemas relacionados con transacciones de la base de datos Problemas relacionados con permisos Problemas con ficheros de bloqueos Problemas con desarrollo sobre tags
+ Info // Info introductoria http://es.wikipedia.org/wiki/Control_de_versiones http://www.chuidiang.com/chuwiki/index.php?title=Sistema_de_control_de_versiones // Info en el blog personal http://davidjguru.wordpress.com/tag/vcs/ // Buenas prácticas con svn http://www.yolinux.com/TUTORIALS/Subversion.html#BESTPRACTICES // Manual de referencia http://svnbook.red-bean.com/

Más contenido relacionado

La actualidad más candente

Bitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un serverBitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un server
Learn Pure Insanity
 

La actualidad más candente (18)

Subversion
SubversionSubversion
Subversion
 
Sistema de organización de archivos
Sistema de organización de archivosSistema de organización de archivos
Sistema de organización de archivos
 
Giseproi hacking ético - bash scripting
Giseproi   hacking ético - bash scriptingGiseproi   hacking ético - bash scripting
Giseproi hacking ético - bash scripting
 
Bitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un serverBitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un server
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Mis comandos favoritos en linux parte 3
Mis comandos favoritos en linux parte 3Mis comandos favoritos en linux parte 3
Mis comandos favoritos en linux parte 3
 
Configuracion del servidor dns en linux
Configuracion del servidor dns en linuxConfiguracion del servidor dns en linux
Configuracion del servidor dns en linux
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Comandos básicos GNU/Linux
Comandos básicos GNU/LinuxComandos básicos GNU/Linux
Comandos básicos GNU/Linux
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Comandos de ubuntu
Comandos de ubuntuComandos de ubuntu
Comandos de ubuntu
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Comandos basicos en linux
Comandos basicos en linuxComandos basicos en linux
Comandos basicos en linux
 
Taller Plataformas Tecnológicas MSDOS y UNIX
Taller Plataformas Tecnológicas MSDOS y UNIXTaller Plataformas Tecnológicas MSDOS y UNIX
Taller Plataformas Tecnológicas MSDOS y UNIX
 
Respaldos con Rsync
Respaldos con RsyncRespaldos con Rsync
Respaldos con Rsync
 
Svn: Sistema de archivos 4d
Svn: Sistema de archivos 4dSvn: Sistema de archivos 4d
Svn: Sistema de archivos 4d
 

Destacado

Diapositivas tics
Diapositivas ticsDiapositivas tics
Diapositivas tics
colsabi
 

Destacado (6)

Diapositivas tics
Diapositivas ticsDiapositivas tics
Diapositivas tics
 
RevistaFornecedores Governamentais 9
RevistaFornecedores Governamentais 9RevistaFornecedores Governamentais 9
RevistaFornecedores Governamentais 9
 
Quiero ser
Quiero serQuiero ser
Quiero ser
 
Oak Cosmeticos Lancamento No Marketing Multinivel Melhor Negocio Na Web
Oak Cosmeticos Lancamento No Marketing Multinivel Melhor Negocio Na WebOak Cosmeticos Lancamento No Marketing Multinivel Melhor Negocio Na Web
Oak Cosmeticos Lancamento No Marketing Multinivel Melhor Negocio Na Web
 
Viaje O Mundo Lancamento No Marketing Multinivel
Viaje O Mundo Lancamento No Marketing MultinivelViaje O Mundo Lancamento No Marketing Multinivel
Viaje O Mundo Lancamento No Marketing Multinivel
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar a Introduccion a vcs_y_svn_v3.0

PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
drsevilla
 
Cvs EspañOl
Cvs EspañOlCvs EspañOl
Cvs EspañOl
rigol03
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversion
nqnwebs
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
Eudris Cabrera
 

Similar a Introduccion a vcs_y_svn_v3.0 (20)

Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion Subversion
 
Sistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoSistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de Código
 
Subversion
SubversionSubversion
Subversion
 
Subversion Press
Subversion PressSubversion Press
Subversion Press
 
Proyectos JAVA con maven
Proyectos JAVA con mavenProyectos JAVA con maven
Proyectos JAVA con maven
 
Proyectos java-con-maven
Proyectos java-con-mavenProyectos java-con-maven
Proyectos java-con-maven
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Resumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxResumen investigación tesina gnu linux
Resumen investigación tesina gnu linux
 
Cvs EspañOl
Cvs EspañOlCvs EspañOl
Cvs EspañOl
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversion
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Control de versiones y Subversion
Control de versiones y SubversionControl de versiones y Subversion
Control de versiones y Subversion
 
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
 
Guia01 control versiones
Guia01 control versionesGuia01 control versiones
Guia01 control versiones
 
02-cvs-1.pdf
02-cvs-1.pdf02-cvs-1.pdf
02-cvs-1.pdf
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 

Más de David (davidjguru) Rodríguez

Más de David (davidjguru) Rodríguez (20)

David Rodriguez - davidjguru CV 2024 updated
David Rodriguez - davidjguru CV 2024 updatedDavid Rodriguez - davidjguru CV 2024 updated
David Rodriguez - davidjguru CV 2024 updated
 
Drupal Workshop: Introducción al Backend de Drupal
Drupal  Workshop: Introducción al Backend de DrupalDrupal  Workshop: Introducción al Backend de Drupal
Drupal Workshop: Introducción al Backend de Drupal
 
Drupal Developer Days Seville 2017: Network report (post-mortem)
Drupal Developer Days Seville 2017: Network report (post-mortem)Drupal Developer Days Seville 2017: Network report (post-mortem)
Drupal Developer Days Seville 2017: Network report (post-mortem)
 
Less NIH, More PFE: Demolishing myths about Drupal
Less NIH, More PFE: Demolishing myths about DrupalLess NIH, More PFE: Demolishing myths about Drupal
Less NIH, More PFE: Demolishing myths about Drupal
 
Drupal summer Barcelona 2016: How to be a Drupal dealer aka sin hype estamos...
Drupal summer Barcelona 2016:  How to be a Drupal dealer aka sin hype estamos...Drupal summer Barcelona 2016:  How to be a Drupal dealer aka sin hype estamos...
Drupal summer Barcelona 2016: How to be a Drupal dealer aka sin hype estamos...
 
Sesion sunrise blog club: como hacerse multimillonario con un blog. El caso C...
Sesion sunrise blog club: como hacerse multimillonario con un blog. El caso C...Sesion sunrise blog club: como hacerse multimillonario con un blog. El caso C...
Sesion sunrise blog club: como hacerse multimillonario con un blog. El caso C...
 
Guía de estilo #CIBASS
Guía de estilo #CIBASSGuía de estilo #CIBASS
Guía de estilo #CIBASS
 
¿Crees que mi idea será viable?
¿Crees que mi idea será viable?¿Crees que mi idea será viable?
¿Crees que mi idea será viable?
 
Programación Campabase 2014 versión 02
Programación Campabase 2014 versión 02Programación Campabase 2014 versión 02
Programación Campabase 2014 versión 02
 
Ecosistemas de marketing online
Ecosistemas de marketing onlineEcosistemas de marketing online
Ecosistemas de marketing online
 
Dossier de patrocinios de Campabase 2014
Dossier de patrocinios de Campabase 2014Dossier de patrocinios de Campabase 2014
Dossier de patrocinios de Campabase 2014
 
Gestión de proyectos bajo paradigmas ágiles
Gestión de proyectos bajo paradigmas ágilesGestión de proyectos bajo paradigmas ágiles
Gestión de proyectos bajo paradigmas ágiles
 
Informe de impacto Campabase 2013 #campabase013
Informe de impacto Campabase 2013 #campabase013Informe de impacto Campabase 2013 #campabase013
Informe de impacto Campabase 2013 #campabase013
 
Presentación de campabase en ebe 2013
Presentación de campabase en ebe 2013Presentación de campabase en ebe 2013
Presentación de campabase en ebe 2013
 
Gestión de la fase de feedback en el final de ciclo de Campabase 2013
Gestión de la fase de feedback en el final de ciclo de Campabase 2013Gestión de la fase de feedback en el final de ciclo de Campabase 2013
Gestión de la fase de feedback en el final de ciclo de Campabase 2013
 
Informe Campabase 2013
Informe Campabase 2013Informe Campabase 2013
Informe Campabase 2013
 
Ciclo los lunes ágiles
Ciclo los lunes ágilesCiclo los lunes ágiles
Ciclo los lunes ágiles
 
Agilidad desde las profundidades del averno
Agilidad desde las profundidades del avernoAgilidad desde las profundidades del averno
Agilidad desde las profundidades del averno
 
El cliente, el valor y otras cosas del montón
El cliente, el valor y otras cosas del montónEl cliente, el valor y otras cosas del montón
El cliente, el valor y otras cosas del montón
 
Si solo tienes ideas, estás perdido
Si solo tienes ideas, estás perdidoSi solo tienes ideas, estás perdido
Si solo tienes ideas, estás perdido
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Introduccion a vcs_y_svn_v3.0

  • 1. Sistemas de control de versiones y svn Formación de comunidad para @emergya Junio 2010 @davidjguru [email_address]
  • 2. Objetivos 1.-Aclarar conceptos sobre control de versiones 2.-Madurar conceptos que ya sepamos 3.-Clarificar la importancia de un buen histórico 4.-Prácticar
  • 3. Índice 1.-Introducción a conceptos 2.-Justificación del uso de un sistema de control de versiones 3.-Historia de los sistema de control de versiones 4.-Vista general de subversion 5.-Ciclo básico de trabajo con svn 6.-Problemas comunes con svn
  • 4. Introducción a conceptos Repositorio: Lugar donde se puede almacenar -esto es, donde se accede, se guardan, se extraen, se consultan- elementos software. Suelen contar con algunas medidas que los diferencia de simples dispositivos de almacenamiento. Control de versiones: Conjunto de medidas para gestionar el estado en el que se encuentra en un momento dado nuestro producto software. Control de versiones centralizado: Un nodo central para albergar todo el código que esta a disposición de todos los usuarios. Control de versiones distribuido: Un sistema de ficheros distribuidos. Cada usuario sincroniza su clon.
  • 5. Justificación del uso Trabajo concurrente Manejo de diferencias Registro del historial de cambios Identificación de conflictos Facilitar la colaboración Revertir estados
  • 6. Historia de los sistemas de control de versiones
  • 7. Intro a svn VCS centralizado Lanzado en el año 2000 Licencia de uso Apache (cumple las cuatro libertades) Mucho uso en comunidades openSource Muy extendido en el entorno empresarial
  • 8. Características de svn Recoge casi todas las de CVS Único estado común en un instante para todo el proyecto Permite accesos distintos (Apache, svnserve y local) Distintas herramientas para administrar, revisar y explorar el repositorio
  • 9. Partes y acceso a svn Ocho módulos distintos: svn, svnversion, svnlook, svnadmin, mod_dav_svn, svndumpfilter, svnserve, svnsync. Accesos distintos: file:/// http:// svn:// https:// svn + ssh://
  • 11. Ciclo básico de trabajo con svn //Prepara tu sistema [email_address] : ~$ sudo apt-get install subversion [email_address] : ~$ sudo mkdir /var/svn/ //Crea un proyecto de trabajo [email_address] :~$ sudo svnadmin create /var/svn/test //Da permisos de trabajo [email_address] : ~$ sudo chown -R david: /var/svn/ //Mediante checkout, obten tu copia de trabajo [email_address] : ~$ svn checkout file:///var/svn/test
  • 12. Ciclo básico de trabajo con svn //Crea la estructura de trabajo recomendada [email_address] : ~$ cd test/ [email_address] : ~/test$ mkdir trunk tags branches //Añadirla al repositorio [email_address] : ~/test$ svn add trunk tags branches //Realizar el commit de estos cambios [email_address] : ~/test$ svn commit -m ”Se ha creado la estructura básica”
  • 13. Ciclo básico de trabajo con svn //Genera un fichero de prueba en la copia local [email_address] : ~/test$ cd trunk [email_address] : ~/test/trunk$ vim fichero_prueba.txt //Se añade el nuevo fichero a la copia local de trabajo [email_address] : ~/test/trunk$ svn add fichero_prueba.txt //Se sube el cambio al repositorio [email_address] : ~/test/trunk$ svn commit -m “Subida del fichero de prueba”
  • 14. Ciclo básico de trabajo con svn / /Obten la última version del proyecto [email_address] : ~/test/trunk$ svn up //Obten la información de la evolución del proyecto [email_address] : ~/test/trunk$ svn log //Comprueba los cambios entre dos revisiones [email_address] : ~/test/trunk$ svn diff -r 12:1234
  • 15. Ciclo básico de trabajo con svn //Unifica logs en un mismo archivo [email_address] : ~/test/trunk$ svn log -r 14 > mylog [email_address] : ~/test/trunk$ svn log -r 17 >> mylog [email_address] : ~/test/trunk$ svn log -r 19 >> mylog //Comprueba el contenido de los logs [email_address] : ~/test/trunk$ cat mylog //Haz un clean del repositorio [email_address] : ~/test/trunk$ svn cleanup /test/
  • 16. Problemas comunes con svn Problemas relacionados con renombrado Problemas relacionados con ficheros de metainformación Problemas relacionados con transacciones de la base de datos Problemas relacionados con permisos Problemas con ficheros de bloqueos Problemas con desarrollo sobre tags
  • 17. + Info // Info introductoria http://es.wikipedia.org/wiki/Control_de_versiones http://www.chuidiang.com/chuwiki/index.php?title=Sistema_de_control_de_versiones // Info en el blog personal http://davidjguru.wordpress.com/tag/vcs/ // Buenas prácticas con svn http://www.yolinux.com/TUTORIALS/Subversion.html#BESTPRACTICES // Manual de referencia http://svnbook.red-bean.com/