SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Sistemas de control de
       versiones
  Introducción a SVN

         Miguel Oliván
             GIFNA
    Universidad de Zaragoza
Itinerario
   Introducción
   Ciclo de trabajo básico
   Explicación de cada paso
   Buenas prácticas
   Programas auxiliares
Sistemas de control de
            versiones
   Guardan la historia  
          Qué, quién, cuándo
          Backup, deshacer pruebas, ...
   Ayudan al desarrollo individual
   Esenciales en el desarrollo colaborativo
          Sincronización
          Ayudan a resolver conflictos
Sistemas de control de
      versiones
Subversion
   Ampliamente usado
   Esquema centralizado
   Multiplataforma
   Libre
Conceptos básicos
   Repositorio
   Copia local
   Revisión
   Etiqueta      (tag)
   Actualización (update)
   Publicación   (commit)
   Conflicto
Obtener un repositorio
   svn checkout URL directorio
         URL             → repositorio 
                   http://servidor/path/al/repositorio  
                   svn+ssh://your.remote­server.com/home/svn/test
         Directorio → copia local
         Credenciales (usuario/contraseña ­ ssh­agent)
Ciclo de trabajo con svn
   Actualizar
   Hacer cambios
   Revisar los cambios
   Corregir errores
   Resolver todos los conflictos
   Publicar
Actualizar
   $ svn update
         U   foo.c
         U   bar.c
         Updated to revision 2
   ¡Se ejecuta en directorio de trabajo y 
      subdirectorios! (aplicable a casi todos los 
      comandos)
Hacer cambios
   $ svn add fichero
   $ svn delete fichero
   $ svn copy fichero.old fichero.new
   $ svn move fichero.old fichero.new
   $ svn mkdir dir
Revisar cambios
   $ svn status
         ? scratch.c
         A stuff/bloo.h
         C stuff/loot/lump.c
         D stuff/fish.c
         M bar.cs
   ¿Qué significa?
Revisar cambios

? scratch.c → no está bajo svn
A bloo.h → programado para añadirse
C stuff/loot/lump.c → ¡conflicto!
D stuff/fish.c → programado para borrarse
M bar.cs → modificaciones locales (ver 
 diferencias)
Revisar cambios
   $ svn diff [fichero]
    Index: bar.c
    ===================================================================
    --- bar.c   (revision 3)
    +++ bar.c   (working copy)
    @@ -1,7 +1,12 @@
    +#include <sys/types.h>
    +#include <sys/stat.h>
    +#include <unistd.h>
    +
    +#include <stdio.h>


    int main(void) {
    -   printf("Sixty-four slices of American Cheese...n");
    +   printf("Sixty-five slices of American Cheese...n");
    return 0;
    }
Corregir errores
   $ svn revert filename
   $ svn revert --recursive . #(!)
         Actúa sobre A, D, C y M
         Revierte añadidos, borrados y modificaciones no 
           publicadas → las modificaciones locales se 
           pierden
                 $ svn status README
                  M     README
                  $ svn revert README
                  Reverted 'README'
                  $ svn status README
Resolver todos los
               conflictos
   $ svn resolve --accept opt file
   opt permite las siguientes opciones:
          mine-full → la versión local es la buena
          theirs-full → la versión remota es la buena
          base → mantener la útima que subí 
          working → el fichero local es el bueno (asume 
            resolución manual)
Publicar
   $ svn commit

         Realizar después de todos los pasos anteriores
         De otro modo svn nos obligará hacerlo
         Poner siempre comentario
Consulta de versiones
   $ svn log [file]
    $ svn log acquire.cxx
    ------------------------------------------------------------------------
    r26 | miguel | 2010-11-25 11:26:12 +0100 (jue 25 de nov de 2010) | 2 líneas


    Accumulate,    draw and analysis


    ------------------------------------------------------------------------
    r7 | miguel | 2010-09-29 11:05:39 +0200 (mié 29 de sep de 2010) | 5 líneas


    Writing with TfileStruct and write in DAQWriter. Adding NRun


    ------------------------------------------------------------------------
    r2 | miguel | 2010-09-08 17:28:59 +0200 (mié 08 de sep de 2010) | 2 líneas


    first commit


    ------------------------------------------------------------------------
Buenas prácticas
   Comunicación verbal
   Comentar commits
   Commit de modificaciones asociadas a una 
     característica (changeset)
   Commits pequeños
   Testear bien antes de los commits
   No tener miedo a los commits
Programas
   Multiplataforma
         RapidSVN
   Linux/Unix
         RabbitVCS     → GNOME
         KDESvn        → KDE
   Windows
         TortoiseSVN
Diferencias gráficamente
   svn diff --diff-cmd=meld --revision 2:7 acquire.cxx
Diferencias gráficamente
   Linux/Unix
         Meld → GNOME
   Windows
         Winmerge
Pasos posteriores
   Ramas
   Mezcla de ramas
   Gestión de un repositorio
   Política de ramas y etiquetas
   Sistemas distribuídos
Documentación
   Version Control with Subversion
          Ciclo de trabajo
   Subversion Cheat Sheet
   http://en.wikipedia.org/wiki/Revision_control
   Git ­ SVN Crash Course

Más contenido relacionado

La actualidad más candente

Curso avanzado SVN
Curso avanzado SVNCurso avanzado SVN
Curso avanzado SVNIrontec
 
Unix essentials 3.1
Unix essentials 3.1Unix essentials 3.1
Unix essentials 3.1Julian696
 
copias de seguridad rsync
copias de seguridad rsynccopias de seguridad rsync
copias de seguridad rsyncmanu betran
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router ciscoEddy Lojan
 
Dns maestro y esclavo(1)
Dns maestro y esclavo(1)Dns maestro y esclavo(1)
Dns maestro y esclavo(1)jessidi
 

La actualidad más candente (10)

Curso avanzado SVN
Curso avanzado SVNCurso avanzado SVN
Curso avanzado SVN
 
Unix essentials 3.1
Unix essentials 3.1Unix essentials 3.1
Unix essentials 3.1
 
Disco
DiscoDisco
Disco
 
copias de seguridad rsync
copias de seguridad rsynccopias de seguridad rsync
copias de seguridad rsync
 
Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router cisco
 
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
 
Dns maestro y esclavo(1)
Dns maestro y esclavo(1)Dns maestro y esclavo(1)
Dns maestro y esclavo(1)
 
Tutorial0
Tutorial0Tutorial0
Tutorial0
 
Comando De Router
Comando De RouterComando De Router
Comando De Router
 

Destacado

Técnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesTécnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesAngel Armenta
 
Metodología de trabajo con SVN
Metodología de trabajo con SVNMetodología de trabajo con SVN
Metodología de trabajo con SVNIng. Jose Franco
 
Control de versiones desde Eclipse.
Control de versiones desde Eclipse.Control de versiones desde Eclipse.
Control de versiones desde Eclipse.Fontyed
 
Escenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODB
Escenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODBEscenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODB
Escenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODBbetabeers
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de softwareilianacon
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticasIker Canarias
 

Destacado (7)

Técnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesTécnicas avanzadas de control de versiones
Técnicas avanzadas de control de versiones
 
Metodología de trabajo con SVN
Metodología de trabajo con SVNMetodología de trabajo con SVN
Metodología de trabajo con SVN
 
Control de versiones desde Eclipse.
Control de versiones desde Eclipse.Control de versiones desde Eclipse.
Control de versiones desde Eclipse.
 
Escenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODB
Escenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODBEscenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODB
Escenarios de Git - Betabeers Córdoba 06/03/2013 - #bbODB
 
Control de versiones y Subversion
Control de versiones y SubversionControl de versiones y Subversion
Control de versiones y Subversion
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de software
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticas
 

Similar a Sistemas de control de versiones. Introducción a svn

Similar a Sistemas de control de versiones. Introducción a svn (20)

Desarrollo Subversivo
Desarrollo SubversivoDesarrollo Subversivo
Desarrollo Subversivo
 
Subversion v6
Subversion v6Subversion v6
Subversion v6
 
Presentación SUbversion
Presentación SUbversionPresentación SUbversion
Presentación SUbversion
 
Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion Subversion
 
Charla mspba
Charla mspbaCharla mspba
Charla mspba
 
Introduccion a vcs_y_svn_v3.0
Introduccion a vcs_y_svn_v3.0Introduccion a vcs_y_svn_v3.0
Introduccion a vcs_y_svn_v3.0
 
Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversion
 
Svn: Sistema de archivos 4d
Svn: Sistema de archivos 4dSvn: Sistema de archivos 4d
Svn: Sistema de archivos 4d
 
Subversion
SubversionSubversion
Subversion
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
02-cvs-1.pdf
02-cvs-1.pdf02-cvs-1.pdf
02-cvs-1.pdf
 
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
 
Control De Cambios (Scm)
Control De Cambios (Scm)Control De Cambios (Scm)
Control De Cambios (Scm)
 
Administración DNS automatizado
Administración DNS automatizadoAdministración DNS automatizado
Administración DNS automatizado
 
Conversion lildbi to_v16-20100726-es
Conversion lildbi to_v16-20100726-esConversion lildbi to_v16-20100726-es
Conversion lildbi to_v16-20100726-es
 
Linux
LinuxLinux
Linux
 
Charla git
Charla gitCharla git
Charla git
 
Adi samba
Adi sambaAdi samba
Adi samba
 
Richard
RichardRichard
Richard
 
Comandos Para CMD Windows (2000,XP,VISTA,7,8)
Comandos Para CMD Windows (2000,XP,VISTA,7,8)Comandos Para CMD Windows (2000,XP,VISTA,7,8)
Comandos Para CMD Windows (2000,XP,VISTA,7,8)
 

Más de miguelolivan

ANAIS: status and prospects
ANAIS: status and prospectsANAIS: status and prospects
ANAIS: status and prospectsmiguelolivan
 
Adquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con ArduinoAdquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con Arduinomiguelolivan
 
Sistema de adquisición de datos para un experimento de detección directa de m...
Sistema de adquisición de datos para un experimento de detección directa de m...Sistema de adquisición de datos para un experimento de detección directa de m...
Sistema de adquisición de datos para un experimento de detección directa de m...miguelolivan
 
Estimación tiempo muerto
Estimación tiempo muertoEstimación tiempo muerto
Estimación tiempo muertomiguelolivan
 
Un Clúster con SLURM, uso y configuración
Un Clúster con SLURM, uso y configuraciónUn Clúster con SLURM, uso y configuración
Un Clúster con SLURM, uso y configuraciónmiguelolivan
 
Diseño del software de adquisición de datos para ANAIS
Diseño del software de adquisición de datos para ANAISDiseño del software de adquisición de datos para ANAIS
Diseño del software de adquisición de datos para ANAISmiguelolivan
 

Más de miguelolivan (6)

ANAIS: status and prospects
ANAIS: status and prospectsANAIS: status and prospects
ANAIS: status and prospects
 
Adquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con ArduinoAdquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con Arduino
 
Sistema de adquisición de datos para un experimento de detección directa de m...
Sistema de adquisición de datos para un experimento de detección directa de m...Sistema de adquisición de datos para un experimento de detección directa de m...
Sistema de adquisición de datos para un experimento de detección directa de m...
 
Estimación tiempo muerto
Estimación tiempo muertoEstimación tiempo muerto
Estimación tiempo muerto
 
Un Clúster con SLURM, uso y configuración
Un Clúster con SLURM, uso y configuraciónUn Clúster con SLURM, uso y configuración
Un Clúster con SLURM, uso y configuración
 
Diseño del software de adquisición de datos para ANAIS
Diseño del software de adquisición de datos para ANAISDiseño del software de adquisición de datos para ANAIS
Diseño del software de adquisición de datos para ANAIS
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

Sistemas de control de versiones. Introducción a svn

  • 1. Sistemas de control de versiones Introducción a SVN Miguel Oliván GIFNA Universidad de Zaragoza
  • 2. Itinerario  Introducción  Ciclo de trabajo básico  Explicación de cada paso  Buenas prácticas  Programas auxiliares
  • 3. Sistemas de control de versiones  Guardan la historia    Qué, quién, cuándo  Backup, deshacer pruebas, ...  Ayudan al desarrollo individual  Esenciales en el desarrollo colaborativo  Sincronización  Ayudan a resolver conflictos
  • 4. Sistemas de control de versiones
  • 5. Subversion  Ampliamente usado  Esquema centralizado  Multiplataforma  Libre
  • 6. Conceptos básicos  Repositorio  Copia local  Revisión  Etiqueta (tag)  Actualización (update)  Publicación (commit)  Conflicto
  • 7. Obtener un repositorio  svn checkout URL directorio  URL → repositorio   http://servidor/path/al/repositorio    svn+ssh://your.remote­server.com/home/svn/test  Directorio → copia local  Credenciales (usuario/contraseña ­ ssh­agent)
  • 8. Ciclo de trabajo con svn  Actualizar  Hacer cambios  Revisar los cambios  Corregir errores  Resolver todos los conflictos  Publicar
  • 9. Actualizar  $ svn update U foo.c U bar.c Updated to revision 2  ¡Se ejecuta en directorio de trabajo y  subdirectorios! (aplicable a casi todos los  comandos)
  • 10. Hacer cambios  $ svn add fichero  $ svn delete fichero  $ svn copy fichero.old fichero.new  $ svn move fichero.old fichero.new  $ svn mkdir dir
  • 11. Revisar cambios  $ svn status ? scratch.c A stuff/bloo.h C stuff/loot/lump.c D stuff/fish.c M bar.cs  ¿Qué significa?
  • 12. Revisar cambios ? scratch.c → no está bajo svn A bloo.h → programado para añadirse C stuff/loot/lump.c → ¡conflicto! D stuff/fish.c → programado para borrarse M bar.cs → modificaciones locales (ver  diferencias)
  • 13. Revisar cambios  $ svn diff [fichero] Index: bar.c =================================================================== --- bar.c (revision 3) +++ bar.c (working copy) @@ -1,7 +1,12 @@ +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> + +#include <stdio.h> int main(void) { - printf("Sixty-four slices of American Cheese...n"); + printf("Sixty-five slices of American Cheese...n"); return 0; }
  • 14. Corregir errores  $ svn revert filename  $ svn revert --recursive . #(!)  Actúa sobre A, D, C y M  Revierte añadidos, borrados y modificaciones no  publicadas → las modificaciones locales se  pierden  $ svn status README M README $ svn revert README Reverted 'README' $ svn status README
  • 15. Resolver todos los conflictos  $ svn resolve --accept opt file  opt permite las siguientes opciones:  mine-full → la versión local es la buena  theirs-full → la versión remota es la buena  base → mantener la útima que subí   working → el fichero local es el bueno (asume  resolución manual)
  • 16. Publicar  $ svn commit  Realizar después de todos los pasos anteriores  De otro modo svn nos obligará hacerlo  Poner siempre comentario
  • 17. Consulta de versiones  $ svn log [file] $ svn log acquire.cxx ------------------------------------------------------------------------ r26 | miguel | 2010-11-25 11:26:12 +0100 (jue 25 de nov de 2010) | 2 líneas Accumulate, draw and analysis ------------------------------------------------------------------------ r7 | miguel | 2010-09-29 11:05:39 +0200 (mié 29 de sep de 2010) | 5 líneas Writing with TfileStruct and write in DAQWriter. Adding NRun ------------------------------------------------------------------------ r2 | miguel | 2010-09-08 17:28:59 +0200 (mié 08 de sep de 2010) | 2 líneas first commit ------------------------------------------------------------------------
  • 18. Buenas prácticas  Comunicación verbal  Comentar commits  Commit de modificaciones asociadas a una  característica (changeset)  Commits pequeños  Testear bien antes de los commits  No tener miedo a los commits
  • 19. Programas  Multiplataforma  RapidSVN  Linux/Unix  RabbitVCS → GNOME  KDESvn → KDE  Windows  TortoiseSVN
  • 20. Diferencias gráficamente  svn diff --diff-cmd=meld --revision 2:7 acquire.cxx
  • 21. Diferencias gráficamente  Linux/Unix  Meld → GNOME  Windows  Winmerge
  • 22. Pasos posteriores  Ramas  Mezcla de ramas  Gestión de un repositorio  Política de ramas y etiquetas  Sistemas distribuídos
  • 23. Documentación  Version Control with Subversion  Ciclo de trabajo  Subversion Cheat Sheet  http://en.wikipedia.org/wiki/Revision_control  Git ­ SVN Crash Course