SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
Sistemas de Control de Fuentes




            Website
Índice
Introducción
 Funciones
Why Use It ?
 Problema
 Elementos
Instalación
Operaciones
 Ejemplos


               2
Introducción
●   Casos Verídicos
    ●   Carlos, ¿Podrías pasarme una copia con los
        cambios que hiciste ayer ?
    ●   Ana, esta función da error, ¿Has cambiado
        algo?
    ●   He perdido la clase Empleado que implemente
        el lunes en practicas... Otra vez a
        implementar...
    ●   Mañana quedamos en la biblioteca y
        terminamos la practica entre los dos.


                                                      3
Introducción
●   ¿A que se debe este tipo de situaciones?

    ●   Proyecto/Prácticas en común desorganizadas

    ●   Proceso donde la información no esta bajo
        control.




                                                     4
Introducción
●   Proyecto => Complejo
●   Proyecto => “Varios” Desarrolladores
●   Proyecto => Control de Información
●   Proyecto => Herramientas / Técnicas
●   Proyecto => Mantener Código Fuente

    Es fundamental un sistema de control
    de fuentes

                                           5
Funciones
●   Hacer un seguimiento del estado de cada
    archivos a través del tiempo.
●   Combinar contribuciones de varios
    desarrolladores.
●   Almacenar un historial de cambios
    realizados a través del tiempo por
    diferentes personas.




                                              6
Funciones
●   “El control de versiones es el arte del
    manejo de los cambios en la información”

●   Retroceder y ver los cambios de los
    archivos antes de que se aplicaran

●   Facilita el trabajo colaborativo




                                               7
Funciones
●   El control de versiones
    no sólo es necesario
    para el software




                              8
Why Use It ?

●   Integridad de los Datos

    ●   Historial de Cambios
    ●   Repositorio Central
        –   Favorece las copias de seguridad
        –   Posibilidad de fallo en un disco local




                                                     9
Why Use It ?

●   Productividad

    ●   No se pierde tiempo en la integración del
        trabajo de varios desarrolladores.
    ●   Facilita el acceso a los datos de los
        desarrolladores.




                                                    10
Why Use It ?

●   Control y Distribución de Trabajo

    ●   ¿Quién lo hace?
    ●   ¿Qué hace?
    ●   ¿Cuándo lo hace?




                                        11
Why Use It ?
●   Lineas de Desarrollo (Ramas)

    ●   Facilita el mantenimiento de varias lineas
    ●   Ayuda a combinar diferentes lineas
    ●   Al añadir nuevas características a una linea,
        estas se pueden propagar fácilmente a otras
        lineas de desarrollo.




                                                        12
Why Use It ?
●    Herramienta para la Ingeniería del
    Software.
    ●   Un proceso de desarrollo de software necesita
        de ciertas herramientas para lograr su
        objetivo.
    ●   Subversion es un proyecto de código abierto
        alojado por la comunidad Tigris.org que
        desarrolla diversas herramientas enfocadas a
         la ingeniería del software.



                                                    13
El Problema




              14
Sobreescribir




                15
La Solución




              16
Lock-Modify-Unlock




                     17
Copy-Modify-Merge




                    18
Elementos
●   Un repositorio, depósito o archivo es un
    lugar centralizado donde se almacena y
    mantiene información digital,
    habitualmente bases de datos o archivos
    informáticos

●   Subversion es un repositorio en forma de
    árbol con una jerarquía de directorios y
    archivos.


                                               19
Elementos
Repositorio




Escribe                    Lee   Lee




Cliente          Cliente          Cliente




                                            20
Elementos

●   Repositorio Centralizado
    ●   Mas sencillo de usar que los distribuidos
    ●   Control total sobre las versiones
    ●   Limitaciones en el acceso
    ●   Se reduce el número de conflictos




                                                    21
Elementos
●   Copia de Trabajo

    ●   Copia Local de los archivos y directorios del
        repositorio. A ella se incorporarán los cambios
        o pondrán a disposición los tuyos cuando tú se
        lo indiques.
    ●   Directorio ./svn




                                                      22
Elementos
●   Revisión
    ●   Es una “instantánea” del repositorio en un
        momento particular en el tiempo, cada vez
        que el servidor acepta un envío se crea una
        nueva revisión.
    ●   Para identificarlas se utilizan números
        comenzando desde cero.




                                                      23
Elementos
●   Ramas (Branch)
    ●   Lineas de desarrollo independientes a otras,
        pero comparten una historia común si mira lo
        suficientemente atrás en el tiempo.




                                                       24
Elementos
●   Etiquetas (Tags)

    ●   Es una rama sobre la que no se incluyen
        cambios
    ●   Contiene el código/ficheros de una revisión
        especifica.
    ●   Etiquetamos la revisión para establecer un
        hito en la linea de desarrollo.




                                                      25
Instalación
●   Debes elegir tu camino....
●   La pastilla roja
    ●   sudo apt-get install subversion
●   La pastilla azul
    ●   RapidSVN
    ●   TortoiseSVN


           http://subversion.apache.org/packages.html



                                                        26
Instalación

●   Netbeans
    ●   Plug-in subversion
    ●   Guia de Uso
●   Eclipse
    ●   Subclipse
    ●   Website




                             27
Instalación




              28
Operaciones
●   svn -- version
●   svn help subcomando
       –   add
       –   import
       –   checkout




                          29
Operaciones
●   svn checkout
    https://svnosl.googlecode.com/svn/
    svnosl --username mi_usuario




                                         30
Operaciones

●   chekout : Obtener una copia local de la
    ultima revisión
●   --username Solo en el checkout inicial
●   Aparece un directorio svnosl que contiene
    los ficheros del repositorio
●   Se lanzan las ordenes sobre ese directorio




                                                31
Operaciones

●   Estructura común del repositorio

    ●   /trunk   Contiene la línea principal desarrollo
    ●   /branch Contiene las ramas
    ●   /tags    Contiene los tags

●   svn checkout
    https://svnosl.googlecode.com/svn/trunk
    svnosl --username mi_usuario

                                                          32
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
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 revisión
●   svn update -- revision 23




                                                 34
Actualizar la copia de Trabajo




                                 35
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 añade ( mkdir + add )




                                                        36
Comprobar Cambios
●   svn status
    ●   Muestras los ficheros donde hay cambios
●   svn status – q
●   svn status – u
●   svn status – v




                                                  37
Comprobar Cambios




                    38
Comprobar Cambios

●   svn diff
    ●   Ver las diferencias con exactitud
    ●   Por defecto el ultimo fichero modificado
●   svn diff fichero




                                                   39
Comprobar Cambios




                    40
Comprobar Cambios
●   Para una determinada revisión
●   svn diff -r 26 ejemplo.h




                                    41
Deshacer Cambios


●   svn revert
    ●   Mediante la orden diff se observa un error y
        se corrige el cambio mediante esta orden
    ●   Ejecutamos svn delete por error




                                                       42
Resolver Conflictos
●   Aparecen cuando actualizamos la copia de
    trabajo




                                           43
Resolver Conflictos


●   Aparecen los siguientes ficheros
    ●   filename.mine     Mi Archivo
    ●   filename.rOLDREV Version original
    ●   filename.rNEWREV Version repositorio




                                               44
Resolver Conflictos
●   Postpone (svn no admite commit)




                                      45
Resolver Conflictos




                      46
Resolver Conflicto
●   By Hand




                              47
Resolver Conflictos
●   svn resolve




                               48
Guardar Cambios
●   svn commit -m “Corregido makefile”




                                         49
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


                                       50
Operaciones
●   svn log
●   svn log -r 20 -v
●   svn log -r 10:20
●   svn log -r 20:15




                       51
Operaciones
●   svn list -v directorio (URL)
    ●   Ficheros disponibles en el directorio




                                                52
Operaciones

●   Ramas
    ●   svn copy
    ●   svn merge
    ●   svn diff
    ●   svn switch




                     53
Operaciones




              54
Operaciones




              55
Operaciones
●   Tags (svn copy)




                           56
Operaciones




              57
58
Licencia

Fco Javier Lucena Lucena

 fran.lucena@gmail.com

http://www.franlucena.es




                           59

Más contenido relacionado

La actualidad más candente

Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoAprende Git
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de softwareJorge Rodriguez
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con gitJan Sanchez
 
React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?Adrian Diaz Cervera
 
Cómo migrar de source safe a team foundation server 2010
Cómo migrar de source safe a team foundation server 2010Cómo migrar de source safe a team foundation server 2010
Cómo migrar de source safe a team foundation server 2010Diego Vazquez Arce
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y GithubJavier Novoa Cataño
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? emateucr
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareJose Manuel Ortega Candel
 
Desplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y JenkinsDesplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y JenkinsLa Drupalera
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp UneMarcos Jara
 
Magallanes - PHPmvd Meet Up - Mayo 2014
Magallanes - PHPmvd Meet Up - Mayo 2014Magallanes - PHPmvd Meet Up - Mayo 2014
Magallanes - PHPmvd Meet Up - Mayo 2014Andrés Montañez
 

La actualidad más candente (20)

Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
 
Maven
MavenMaven
Maven
 
Introduccion arqullian
Introduccion arqullianIntroduccion arqullian
Introduccion arqullian
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con git
 
React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?
 
Cómo migrar de source safe a team foundation server 2010
Cómo migrar de source safe a team foundation server 2010Cómo migrar de source safe a team foundation server 2010
Cómo migrar de source safe a team foundation server 2010
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
Git y github básico
Git y github básicoGit y github básico
Git y github básico
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Semana 1 Introducción a Java
Semana 1   Introducción a JavaSemana 1   Introducción a Java
Semana 1 Introducción a Java
 
Desplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y JenkinsDesplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y Jenkins
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp Une
 
Magallanes - PHPmvd Meet Up - Mayo 2014
Magallanes - PHPmvd Meet Up - Mayo 2014Magallanes - PHPmvd Meet Up - Mayo 2014
Magallanes - PHPmvd Meet Up - Mayo 2014
 
Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para git
 
Docker images
Docker imagesDocker images
Docker images
 
Jenkins pipeline
Jenkins pipelineJenkins pipeline
Jenkins pipeline
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
 

Destacado

Codificación e identificación de productos – código de barras GS1
Codificación e identificación  de productos – código de barras GS1Codificación e identificación  de productos – código de barras GS1
Codificación e identificación de productos – código de barras GS1Universidad Peruana Unión
 
Desarrollo de un Nuevo Producto - Inicio
Desarrollo de un Nuevo Producto - InicioDesarrollo de un Nuevo Producto - Inicio
Desarrollo de un Nuevo Producto - InicioDharma Consulting
 
Desarrollo de un Nuevo Producto - Cierre
Desarrollo de un Nuevo Producto - CierreDesarrollo de un Nuevo Producto - Cierre
Desarrollo de un Nuevo Producto - CierreDharma Consulting
 

Destacado (6)

9 sistemas de ordenación
9 sistemas de ordenación9 sistemas de ordenación
9 sistemas de ordenación
 
Como codificar lotes
Como codificar lotesComo codificar lotes
Como codificar lotes
 
Codificación e identificación de productos – código de barras GS1
Codificación e identificación  de productos – código de barras GS1Codificación e identificación  de productos – código de barras GS1
Codificación e identificación de productos – código de barras GS1
 
Desarrollo de un Nuevo Producto - Inicio
Desarrollo de un Nuevo Producto - InicioDesarrollo de un Nuevo Producto - Inicio
Desarrollo de un Nuevo Producto - Inicio
 
Desarrollo de un Nuevo Producto - Cierre
Desarrollo de un Nuevo Producto - CierreDesarrollo de un Nuevo Producto - Cierre
Desarrollo de un Nuevo Producto - Cierre
 
Eslaleche
EslalecheEslaleche
Eslaleche
 

Similar a Control de Versiones con Subversion (SVN)

Similar a Control de Versiones con Subversion (SVN) (20)

Tema 1 Control de Versiones
Tema 1 Control de VersionesTema 1 Control de Versiones
Tema 1 Control de Versiones
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
S14-DAW-2022S1.pptx
S14-DAW-2022S1.pptxS14-DAW-2022S1.pptx
S14-DAW-2022S1.pptx
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Clase1
Clase1Clase1
Clase1
 
Induccion0_GitLab.pptx
Induccion0_GitLab.pptxInduccion0_GitLab.pptx
Induccion0_GitLab.pptx
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdf
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Infraestructura agil
Infraestructura agilInfraestructura agil
Infraestructura agil
 
16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdf
 
Administracion de datos
Administracion de datosAdministracion de datos
Administracion de datos
 
An evening with... Liquidbase
An evening with... LiquidbaseAn evening with... Liquidbase
An evening with... Liquidbase
 

Más de Fco Javier Lucena

Más de Fco Javier Lucena (7)

Bucles con Scratch
Bucles con ScratchBucles con Scratch
Bucles con Scratch
 
Interfaces de usuario con PyGTK
Interfaces de usuario con PyGTKInterfaces de usuario con PyGTK
Interfaces de usuario con PyGTK
 
En busca de la piedra filosofal
En busca de la piedra filosofalEn busca de la piedra filosofal
En busca de la piedra filosofal
 
reglajes formula uno electre
reglajes formula uno electrereglajes formula uno electre
reglajes formula uno electre
 
Manual Basico para Encantadores de Serpientes (Python)
Manual Basico para Encantadores de Serpientes (Python)Manual Basico para Encantadores de Serpientes (Python)
Manual Basico para Encantadores de Serpientes (Python)
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Tablas HTML
Tablas HTMLTablas HTML
Tablas HTML
 

Último

PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 

Último (20)

PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 

Control de Versiones con Subversion (SVN)

  • 1. Sistemas de Control de Fuentes Website
  • 2. Índice Introducción Funciones Why Use It ? Problema Elementos Instalación Operaciones Ejemplos 2
  • 3. Introducción ● Casos Verídicos ● Carlos, ¿Podrías pasarme una copia con los cambios que hiciste ayer ? ● Ana, esta función da error, ¿Has cambiado algo? ● He perdido la clase Empleado que implemente el lunes en practicas... Otra vez a implementar... ● Mañana quedamos en la biblioteca y terminamos la practica entre los dos. 3
  • 4. Introducción ● ¿A que se debe este tipo de situaciones? ● Proyecto/Prácticas en común desorganizadas ● Proceso donde la información no esta bajo control. 4
  • 5. Introducción ● Proyecto => Complejo ● Proyecto => “Varios” Desarrolladores ● Proyecto => Control de Información ● Proyecto => Herramientas / Técnicas ● Proyecto => Mantener Código Fuente Es fundamental un sistema de control de fuentes 5
  • 6. Funciones ● Hacer un seguimiento del estado de cada archivos a través del tiempo. ● Combinar contribuciones de varios desarrolladores. ● Almacenar un historial de cambios realizados a través del tiempo por diferentes personas. 6
  • 7. Funciones ● “El control de versiones es el arte del manejo de los cambios en la información” ● Retroceder y ver los cambios de los archivos antes de que se aplicaran ● Facilita el trabajo colaborativo 7
  • 8. Funciones ● El control de versiones no sólo 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 local 9
  • 10. Why Use It ? ● Productividad ● No se pierde tiempo en la integración del trabajo de varios desarrolladores. ● Facilita el acceso a los datos de los desarrolladores. 10
  • 11. Why Use It ? ● Control y Distribución de Trabajo ● ¿Quién lo hace? ● ¿Qué hace? ● ¿Cuándo lo hace? 11
  • 12. Why Use It ? ● Lineas de Desarrollo (Ramas) ● Facilita el mantenimiento de varias lineas ● Ayuda a combinar diferentes lineas ● Al añadir nuevas características a una linea, estas se pueden propagar fácilmente a otras lineas de desarrollo. 12
  • 13. Why Use It ? ● Herramienta para la Ingeniería del Software. ● Un proceso de desarrollo de software necesita de ciertas herramientas para lograr su objetivo. ● Subversion es un proyecto de código abierto alojado por la comunidad Tigris.org que desarrolla diversas herramientas enfocadas a la ingeniería del software. 13
  • 19. Elementos ● Un repositorio, depósito o archivo es un lugar centralizado donde se almacena y mantiene información digital, habitualmente bases de datos o archivos informáticos ● Subversion es un repositorio en forma de árbol con una jerarquía de directorios y archivos. 19
  • 20. Elementos Repositorio Escribe Lee Lee Cliente Cliente Cliente 20
  • 21. Elementos ● Repositorio Centralizado ● Mas sencillo de usar que los distribuidos ● Control total sobre las versiones ● Limitaciones en el acceso ● Se reduce el número de conflictos 21
  • 22. Elementos ● Copia de Trabajo ● Copia Local de los archivos y directorios del repositorio. A ella se incorporarán los cambios o pondrán a disposición los tuyos cuando tú se lo indiques. ● Directorio ./svn 22
  • 23. Elementos ● Revisión ● Es una “instantánea” del repositorio en un momento particular en el tiempo, cada vez que el servidor acepta un envío se crea una nueva revisión. ● Para identificarlas se utilizan números comenzando desde cero. 23
  • 24. Elementos ● Ramas (Branch) ● Lineas de desarrollo independientes a otras, pero comparten una historia común si mira lo suficientemente atrás en el tiempo. 24
  • 25. Elementos ● Etiquetas (Tags) ● Es una rama sobre la que no se incluyen cambios ● Contiene el código/ficheros de una revisión especifica. ● Etiquetamos la revisión para establecer un hito en la linea de desarrollo. 25
  • 26. Instalación ● Debes elegir tu camino.... ● La pastilla roja ● sudo apt-get install subversion ● La pastilla azul ● RapidSVN ● TortoiseSVN http://subversion.apache.org/packages.html 26
  • 27. Instalación ● Netbeans ● Plug-in subversion ● Guia de Uso ● Eclipse ● Subclipse ● Website 27
  • 29. Operaciones ● svn -- version ● svn help subcomando – add – import – checkout 29
  • 30. Operaciones ● svn checkout https://svnosl.googlecode.com/svn/ svnosl --username mi_usuario 30
  • 31. Operaciones ● chekout : Obtener una copia local de la ultima revisión ● --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 común del repositorio ● /trunk Contiene la línea principal desarrollo ● /branch Contiene las ramas ● /tags Contiene los tags ● svn checkout https://svnosl.googlecode.com/svn/trunk svnosl --username mi_usuario 32
  • 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 revisión ● svn update -- revision 23 34
  • 35. Actualizar la copia de Trabajo 35
  • 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 añade ( mkdir + add ) 36
  • 37. Comprobar Cambios ● svn status ● Muestras los ficheros donde hay cambios ● svn status – q ● svn status – u ● svn status – v 37
  • 39. Comprobar Cambios ● svn diff ● Ver las diferencias con exactitud ● Por defecto el ultimo fichero modificado ● svn diff fichero 39
  • 41. Comprobar Cambios ● Para una determinada revisión ● 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 error 42
  • 43. Resolver Conflictos ● Aparecen cuando actualizamos la copia de trabajo 43
  • 44. Resolver Conflictos ● Aparecen los siguientes ficheros ● filename.mine Mi Archivo ● filename.rOLDREV Version original ● filename.rNEWREV Version repositorio 44
  • 45. Resolver Conflictos ● Postpone (svn no admite commit) 45
  • 48. Resolver Conflictos ● svn resolve 48
  • 49. Guardar Cambios ● svn commit -m “Corregido makefile” 49
  • 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 realizados 50
  • 51. Operaciones ● svn log ● svn log -r 20 -v ● svn log -r 10:20 ● svn log -r 20:15 51
  • 52. Operaciones ● svn list -v directorio (URL) ● Ficheros disponibles en el directorio 52
  • 53. Operaciones ● Ramas ● svn copy ● svn merge ● svn diff ● svn switch 53
  • 56. Operaciones ● Tags (svn copy) 56
  • 58. 58
  • 59. Licencia Fco Javier Lucena Lucena fran.lucena@gmail.com http://www.franlucena.es 59