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

codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
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
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 

Último (20)

codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
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
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 

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