Control de Versiones con Subversion (SVN)

download Control de Versiones con Subversion (SVN)

of 59

  • date post

    24-Jun-2015
  • Category

    Education

  • view

    3.395
  • download

    0

Embed Size (px)

description

Charla / Taller de introducción a los sistemas de control de versiones usando subversion en la universidad de Granada

Transcript of Control de Versiones con Subversion (SVN)

  • 1. Sistemas de Control de Fuentes Website

2. ndice IntroduccinFunciones Why Use It ?ProblemaElementos Instalacin OperacionesEjemplos2 3. Introduccin Casos Verdicos Carlos, Podras pasarme una copia con los cambios que hiciste ayer ? Ana, esta funcin da error, Has cambiado algo? He perdido la clase Empleado que implemente el lunes en practicas... Otra vez a implementar... Maana quedamos en la biblioteca y terminamos la practica entre los dos. 3 4. Introduccin A que se debe este tipo de situaciones? Proyecto/Prcticas en comn desorganizadas Proceso donde la informacin no esta bajo control.4 5. Introduccin Proyecto => Complejo Proyecto => Varios Desarrolladores Proyecto => Control de Informacin Proyecto => Herramientas / Tcnicas Proyecto => Mantener Cdigo FuenteEs fundamental un sistema de control de fuentes 5 6. Funciones Hacer un seguimiento del estado de cada archivos a travs del tiempo. Combinar contribuciones de varios desarrolladores. Almacenar un historial de cambios realizados a travs del tiempo por diferentes personas. 6 7. Funciones El control de versiones es el arte del manejo de los cambios en la informacin Retroceder y ver los cambios de los archivos antes de que se aplicaran Facilita el trabajo colaborativo7 8. Funciones El control de versiones no slo es necesario para el software 8 9. Why Use It ? Integridad de los Datos Historial de Cambios Repositorio Central Favorece las copias de seguridad Posibilidad de fallo en un disco local9 10. Why Use It ? Productividad No se pierde tiempo en la integracin del trabajo de varios desarrolladores. Facilita el acceso a los datos de los desarrolladores. 10 11. Why Use It ? Control y Distribucin de Trabajo Quin lo hace? Qu hace? Cundo lo hace? 11 12. Why Use It ? Lineas de Desarrollo (Ramas) Facilita el mantenimiento de varias lineas Ayuda a combinar diferentes lineas Al aadir nuevas caractersticas a una linea, estas se pueden propagar fcilmente a otras lineas de desarrollo. 12 13. Why Use It ? Herramienta para la Ingeniera del Software. Un proceso de desarrollo de software necesita de ciertas herramientas para lograr su objetivo. Subversion es un proyecto de cdigo abierto alojado por la comunidad Tigris.org que desarrolla diversas herramientas enfocadas ala ingeniera del software.13 14. El Problema 14 15. Sobreescribir 15 16. La Solucin 16 17. Lock-Modify-Unlock17 18. Copy-Modify-Merge 18 19. Elementos Un repositorio, depsito o archivo es un lugar centralizado donde se almacena y mantiene informacin digital, habitualmente bases de datos o archivos informticos Subversion es un repositorio en forma de rbol con una jerarqua de directorios y archivos.19 20. Elementos Repositorio EscribeLee Lee ClienteClienteCliente 20 21. Elementos Repositorio Centralizado Mas sencillo de usar que los distribuidos Control total sobre las versiones Limitaciones en el acceso Se reduce el nmero de conflictos 21 22. Elementos Copia de Trabajo Copia Local de los archivos y directorios del repositorio. A ella se incorporarn los cambios o pondrn a disposicin los tuyos cuando t se lo indiques. Directorio ./svn 22 23. Elementos Revisin Es una instantnea del repositorio en un momento particular en el tiempo, cada vez que el servidor acepta un envo se crea una nueva revisin. Para identificarlas se utilizan nmeros comenzando desde cero. 23 24. Elementos Ramas (Branch) Lineas de desarrollo independientes a otras, pero comparten una historia comn si mira lo suficientemente atrs en el tiempo.24 25. Elementos Etiquetas (Tags) Es una rama sobre la que no se incluyen cambios Contiene el cdigo/ficheros de una revisin especifica. Etiquetamos la revisin para establecer un hito en la linea de desarrollo. 25 26. Instalacin Debes elegir tu camino.... La pastilla roja sudo apt-get install subversion La pastilla azul RapidSVN TortoiseSVNhttp://subversion.apache.org/packages.html26 27. Instalacin Netbeans Plug-in subversion Guia de Uso Eclipse Subclipse Website27 28. Instalacin 28 29. Operaciones svn -- version svn help subcomando add import checkout 29 30. Operaciones svn checkout https://svnosl.googlecode.com/svn/ svnosl --username mi_usuario30 31. Operaciones chekout : Obtener una copia local de la ultima revisin --username Solo en el checkout inicial Aparece un directorio svnosl que contiene los ficheros del repositorio Se lanzan las ordenes sobre ese directorio 31 32. Operaciones Estructura comn del repositorio /trunk Contiene la lnea principal desarrollo /branch Contiene las ramas /tagsContiene los tags svn checkout https://svnosl.googlecode.com/svn/trunk svnosl --username mi_usuario32 33. Ciclo de Trabajo Actualizar la copia de trabajo Modificar la copia de trabajo Comprobar los cambios realizados Deshacer ciertos cambios Resolver conflictos Guardar los cambios realizados 33 34. Actualizar la copia de Trabajo svn update Indica los cambios que existen entre nuestra copia de trabajo y el repositorio, con respecto a la ultima revisin svn update -- revision 2334 35. Actualizar la copia de Trabajo35 36. Modificar la copia de Trabajo svn add fichero svn delete fichero svn copy fichero svn move fichero svn mkdir directorio Crea el directorio y lo aade ( mkdir + add ) 36 37. Comprobar Cambios svn status Muestras los ficheros donde hay cambios svn status q svn status u svn status v 37 38. Comprobar Cambios 38 39. Comprobar Cambios svn diff Ver las diferencias con exactitud Por defecto el ultimo fichero modificado svn diff fichero39 40. Comprobar Cambios 40 41. Comprobar Cambios Para una determinada revisin svn diff -r 26 ejemplo.h 41 42. Deshacer Cambios svn revert Mediante la orden diff se observa un error y se corrige el cambio mediante esta orden Ejecutamos svn delete por error42 43. Resolver Conflictos Aparecen cuando actualizamos la copia de trabajo43 44. Resolver Conflictos Aparecen los siguientes ficheros filename.mine Mi Archivo filename.rOLDREV Version original filename.rNEWREV Version repositorio44 45. Resolver Conflictos Postpone (svn no admite commit) 45 46. Resolver Conflictos 46 47. Resolver Conflicto By Hand 47 48. Resolver Conflictos svn resolve48 49. Guardar Cambios svn commit -m Corregido makefile49 50. Ciclo de Trabajo Actualizar la copia de trabajo Modificar la copia de trabajo Comprobar los cambios realizados Deshacer ciertos cambios Resolver conflictos Guardar los cambios realizados50 51. Operaciones svn log svn log -r 20 -v svn log -r 10:20 svn log -r 20:1551 52. Operaciones svn list -v directorio (URL) Ficheros disponibles en el directorio 52 53. Operaciones Ramas svn copy svn merge svn diff svn switch53 54. Operaciones 54 55. Operaciones 55 56. Operaciones Tags (svn copy)56 57. Operaciones 57 58. 58 59. LicenciaFco Javier Lucena Lucena fran.lucena@gmail.comhttp://www.franlucena.es59