SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Control de versiones y
             Subversion




José Luis López Pino
¿Qué es el control de versiones?

   ”El control de versiones es el arte del manejo
    de los cambios en la información”.
   Herramienta crítica para los programadores.
   Facilita volver a una versión anterior.
   Facilita el trabajo colaborativo.
   Se envían sólo las diferencias realizadas.
   El control de versiones no sólo es necesario
    para el software.
Clasificación




http://www.infoq.com/articles/dvcs-guide
Clasificación: centralizados

   Un poco más sencillos de utilizar que los
    distribuidos.
   Se tiene un control total sobre las versiones.
   Limitaciones en el acceso.
   Puede haber menos conflictos a resolver.
   Ejemplos: CVS y Subversion.
Clasificación: distribuidos

   Se puede trabajar de forma local.
   Operaciones locales más rápidas.
   No necesitas permiso para participar en los
    proyectos.
   No se depende de una sola máquina física.
   Puedes seguir teniendo un control centralizado
    del proyecto.
   Ejemplos: Git, Bazaar y Mercurial.
Herramientas

   svn           Cliente de línea de comandos.
   svnversion    Estado de la copia de trabajo.
   svnlook       Inspeccionar un repositorio.
   svnadmin      Crear, modificar o reparar repos.
   svnserve      Servidor.
Acciones comunes

 Copia de trabajo (working copy):
 Copia local y privada 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.



 Revisión (revision):
 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 desde el 0.
Acciones comunes
   Crear copia de trabajo     svn checkout
   Ver diferencias            svn diff
   Deshacer cambios locales svn revert
   Subir nueva versión        svn commit
   Sincronizar con repos.     svn update
   Mensajes de log            svn log
   Gestionar ficheros         svn add | delete
   Copiar Mover               svn move | copy
   Ver ficheros modificados   svn status
   ¡Ayuda!                    svn help
Estructura común del repositorio

   Hay maneras estándar recomendadas para
    organizar un repositorio.
   /trunk      contendrá la “línea principal”
   /branches   copias de las ramas
   /tags       copias de las etiquetas
Problema: sobreescritura
Solución parcial: bloqueo
Solución: mezclar
Conflictos
$ svn update
U INSTALL                       Actualizado
G README                        Unido
C bar.c                         ¡Conflicto!
Updated to revision 46.


    Cuando se produce conflicto nos encontramos:
        filename.mine          ”Mi” archivo
        filename.rOLDREV       Versión original de la mía.
        filename.rNEWREV       Versión actual en el repos.
Solucionando conflictos

   Tenemos tres opciones:
       Fusionar el texto en conflicto “a mano” y marcar el
        conflicto como resuelto (svn resolved).
       Copiar uno de los ficheros temporales sobre su
        fichero de trabajo y marcar como resuelto.
       Eliminar cambios locales (svn revert).
Ramas

Rama (branch):
Línea de desarrollo que existe de forma
independiente a otra, pero comparte una historia
común si mira suficientemente atrás en el tiempo.
Ramas

   Subversion tiene comandos para ayudarle a
    mantener ramas paralelas de sus ficheros y
    directorios.
   Nos evitan duplicar cambios en varias ramas.
   Permiten mezclar y probar diferentes líneas de
    desarrollo en su trabajo diario.
Operaciones con ramas

   Crear una rama                  svn copy
   Unir dos fuentes                svn merge
   Ver diferencias antes de unir   svn diff
   Trasladarnos a otra rama        svn switch
Etiquetas
          Etiqueta (tag):
          Una etiqueta no es más que una instantánea
          (snapshot) del proyecto en un momento de tiempo.
          Realmente cada revisión ya es una instantánea,
          pero con las etiquetas le ponemos nombres más
          bonitos y pueden ser de sólo un subdirectorio.

          En subversion, una etiqueta es realmente una
          nueva rama que creamos y lo almacenamos en un
          lugar diferente (/tags) y no realizamos cambios en
          ella.


   Al igual que las ramas, las creamos con
    svn copy
Clientes visuales

   RabbitVCS (Nautilus)
   KDESvn (Konqueror)
   TortoiseSVN (Windows)
   RapidSVN (Linux, Windows y MacOS)
   Cliente integrado con los distintos EDS.
Servidores externos

   http://forja.rediris.es/
   http://code.google.com/hosting/
   http://sourceforge.net/
   http://www.xp-dev.com/
   http://savannah.gnu.org/
Libro


   Version Control with
    Subversion
   Control de versiones con
    Subversion
   Libre
   http://svnbook.red-bean.com/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
 
Mercurial
MercurialMercurial
Mercurial
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Introduccion A Docker
Introduccion A DockerIntroduccion A Docker
Introduccion A Docker
 
Manual completo-php-5
Manual completo-php-5Manual completo-php-5
Manual completo-php-5
 
Instalación y configuración de servidor ftp
Instalación  y configuración de servidor ftpInstalación  y configuración de servidor ftp
Instalación y configuración de servidor ftp
 
Presentación SUbversion
Presentación SUbversionPresentación SUbversion
Presentación SUbversion
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
02 instalación
02 instalación02 instalación
02 instalación
 
Manual Completo Php 5
Manual Completo Php 5Manual Completo Php 5
Manual Completo Php 5
 
20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Servicio Samba ::: http://leymebamba.com
Servicio Samba ::: http://leymebamba.comServicio Samba ::: http://leymebamba.com
Servicio Samba ::: http://leymebamba.com
 

Similar a Control de versiones y Subversion

Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion SubversionCesar Yanez
 
Subversion Press
Subversion PressSubversion Press
Subversion Pressjlrvpuma
 
Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversionJulio Pari
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris Cabrera
 
Charla svn subversion
Charla svn subversionCharla svn subversion
Charla svn subversionunsijslide
 
Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesionPablo Morales
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Sistemas de control de versiones. Introducción a svn
Sistemas de control de versiones. Introducción a svnSistemas de control de versiones. Introducción a svn
Sistemas de control de versiones. Introducción a svnmiguelolivan
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdfEric Quiñones
 
Subversion: La tortuga y sus documentos
Subversion: La tortuga y sus documentosSubversion: La tortuga y sus documentos
Subversion: La tortuga y sus documentosMellado Pablo
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversionEudris Cabrera
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versionesEudris Cabrera
 
"Control de Versiones - CVS en proyectos .NET"
"Control de Versiones - CVS en proyectos .NET""Control de Versiones - CVS en proyectos .NET"
"Control de Versiones - CVS en proyectos .NET"La Red DBAccess
 

Similar a Control de versiones y Subversion (20)

Desarrollo Subversivo
Desarrollo SubversivoDesarrollo Subversivo
Desarrollo Subversivo
 
Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion Subversion
 
Subversion Press
Subversion PressSubversion Press
Subversion Press
 
Subversion
SubversionSubversion
Subversion
 
Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversion
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Charla svn subversion
Charla svn subversionCharla svn subversion
Charla svn subversion
 
Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesion
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Sistemas de control de versiones. Introducción a svn
Sistemas de control de versiones. Introducción a svnSistemas de control de versiones. Introducción a svn
Sistemas de control de versiones. Introducción a svn
 
Guia01 control versiones
Guia01 control versionesGuia01 control versiones
Guia01 control versiones
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdf
 
Charla git
Charla gitCharla git
Charla git
 
Subversion: La tortuga y sus documentos
Subversion: La tortuga y sus documentosSubversion: La tortuga y sus documentos
Subversion: La tortuga y sus documentos
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
[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 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
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
Control de versiones (CVS)
Control de versiones (CVS)Control de versiones (CVS)
Control de versiones (CVS)
 
"Control de Versiones - CVS en proyectos .NET"
"Control de Versiones - CVS en proyectos .NET""Control de Versiones - CVS en proyectos .NET"
"Control de Versiones - CVS en proyectos .NET"
 

Más de Jose Luis Lopez Pino

Lessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketingLessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketingJose Luis Lopez Pino
 
BDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the massesBDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the massesJose Luis Lopez Pino
 
Massive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using RMassive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using RJose Luis Lopez Pino
 
Scheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data ClustersScheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data ClustersJose Luis Lopez Pino
 
High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)Jose Luis Lopez Pino
 
High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)Jose Luis Lopez Pino
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 
Firefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libresFirefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libresJose Luis Lopez Pino
 
Presentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraPresentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraJose Luis Lopez Pino
 
Presentacion Visuse para el Hachathón
Presentacion Visuse para el HachathónPresentacion Visuse para el Hachathón
Presentacion Visuse para el HachathónJose Luis Lopez Pino
 

Más de Jose Luis Lopez Pino (20)

Lessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketingLessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketing
 
BDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the massesBDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the masses
 
Massive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using RMassive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using R
 
Metadata in Business Intelligence
Metadata in Business IntelligenceMetadata in Business Intelligence
Metadata in Business Intelligence
 
Scheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data ClustersScheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data Clusters
 
Distributed streaming k means
Distributed streaming k meansDistributed streaming k means
Distributed streaming k means
 
High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)
 
High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Firefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libresFirefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libres
 
Esteganografia
EsteganografiaEsteganografia
Esteganografia
 
Presentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraPresentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De Carrera
 
Memoria Proyecto Fin de Carrera
Memoria Proyecto Fin de CarreraMemoria Proyecto Fin de Carrera
Memoria Proyecto Fin de Carrera
 
Presentacion CUSL nacional
Presentacion CUSL nacionalPresentacion CUSL nacional
Presentacion CUSL nacional
 
Resumen del proyecto Visuse
Resumen del proyecto VisuseResumen del proyecto Visuse
Resumen del proyecto Visuse
 
Presentacion cusl granadino
Presentacion cusl granadinoPresentacion cusl granadino
Presentacion cusl granadino
 
Como hacer un módulo para Visuse
Como hacer un módulo para VisuseComo hacer un módulo para Visuse
Como hacer un módulo para Visuse
 
Visuse: resumen del I Hackathon
Visuse: resumen del I HackathonVisuse: resumen del I Hackathon
Visuse: resumen del I Hackathon
 
Presentacion Visuse para el Hachathón
Presentacion Visuse para el HachathónPresentacion Visuse para el Hachathón
Presentacion Visuse para el Hachathón
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (10)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Control de versiones y Subversion

  • 1. Control de versiones y Subversion José Luis López Pino
  • 2. ¿Qué es el control de versiones?  ”El control de versiones es el arte del manejo de los cambios en la información”.  Herramienta crítica para los programadores.  Facilita volver a una versión anterior.  Facilita el trabajo colaborativo.  Se envían sólo las diferencias realizadas.  El control de versiones no sólo es necesario para el software.
  • 4. Clasificación: centralizados  Un poco más sencillos de utilizar que los distribuidos.  Se tiene un control total sobre las versiones.  Limitaciones en el acceso.  Puede haber menos conflictos a resolver.  Ejemplos: CVS y Subversion.
  • 5. Clasificación: distribuidos  Se puede trabajar de forma local.  Operaciones locales más rápidas.  No necesitas permiso para participar en los proyectos.  No se depende de una sola máquina física.  Puedes seguir teniendo un control centralizado del proyecto.  Ejemplos: Git, Bazaar y Mercurial.
  • 6. Herramientas  svn Cliente de línea de comandos.  svnversion Estado de la copia de trabajo.  svnlook Inspeccionar un repositorio.  svnadmin Crear, modificar o reparar repos.  svnserve Servidor.
  • 7. Acciones comunes Copia de trabajo (working copy): Copia local y privada 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. Revisión (revision): 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 desde el 0.
  • 8. Acciones comunes  Crear copia de trabajo svn checkout  Ver diferencias svn diff  Deshacer cambios locales svn revert  Subir nueva versión svn commit  Sincronizar con repos. svn update  Mensajes de log svn log  Gestionar ficheros svn add | delete  Copiar Mover svn move | copy  Ver ficheros modificados svn status  ¡Ayuda! svn help
  • 9. Estructura común del repositorio  Hay maneras estándar recomendadas para organizar un repositorio.  /trunk contendrá la “línea principal”  /branches copias de las ramas  /tags copias de las etiquetas
  • 13. Conflictos $ svn update U INSTALL Actualizado G README Unido C bar.c ¡Conflicto! Updated to revision 46.  Cuando se produce conflicto nos encontramos:  filename.mine ”Mi” archivo  filename.rOLDREV Versión original de la mía.  filename.rNEWREV Versión actual en el repos.
  • 14. Solucionando conflictos  Tenemos tres opciones:  Fusionar el texto en conflicto “a mano” y marcar el conflicto como resuelto (svn resolved).  Copiar uno de los ficheros temporales sobre su fichero de trabajo y marcar como resuelto.  Eliminar cambios locales (svn revert).
  • 15. Ramas Rama (branch): Línea de desarrollo que existe de forma independiente a otra, pero comparte una historia común si mira suficientemente atrás en el tiempo.
  • 16. Ramas  Subversion tiene comandos para ayudarle a mantener ramas paralelas de sus ficheros y directorios.  Nos evitan duplicar cambios en varias ramas.  Permiten mezclar y probar diferentes líneas de desarrollo en su trabajo diario.
  • 17. Operaciones con ramas  Crear una rama svn copy  Unir dos fuentes svn merge  Ver diferencias antes de unir svn diff  Trasladarnos a otra rama svn switch
  • 18. Etiquetas Etiqueta (tag): Una etiqueta no es más que una instantánea (snapshot) del proyecto en un momento de tiempo. Realmente cada revisión ya es una instantánea, pero con las etiquetas le ponemos nombres más bonitos y pueden ser de sólo un subdirectorio. En subversion, una etiqueta es realmente una nueva rama que creamos y lo almacenamos en un lugar diferente (/tags) y no realizamos cambios en ella.  Al igual que las ramas, las creamos con svn copy
  • 19. Clientes visuales  RabbitVCS (Nautilus)  KDESvn (Konqueror)  TortoiseSVN (Windows)  RapidSVN (Linux, Windows y MacOS)  Cliente integrado con los distintos EDS.
  • 20. Servidores externos  http://forja.rediris.es/  http://code.google.com/hosting/  http://sourceforge.net/  http://www.xp-dev.com/  http://savannah.gnu.org/
  • 21. Libro  Version Control with Subversion  Control de versiones con Subversion  Libre  http://svnbook.red-bean.com/