SlideShare una empresa de Scribd logo
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

Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
Jorge Rodriguez
 
Mercurial
MercurialMercurial
Mercurial
Jordi Gerona
 
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
Christian Rodriguez
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
Alberto Torreblanca Villavicencio
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
Mauro Parra-Miranda
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
Giovani Ramirez
 
Apache Camel
Apache CamelApache Camel
Introduccion A Docker
Introduccion A DockerIntroduccion A Docker
Introduccion A Docker
Adrian Garcia Casas
 
Manual completo-php-5
Manual completo-php-5Manual completo-php-5
Manual completo-php-5
jjmvc2481
 
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
jfracs
 
Presentación SUbversion
Presentación SUbversionPresentación SUbversion
Presentación SUbversion
rxif914u41
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
Alan Descoins
 
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
José Antonio Sandoval Acosta
 
02 instalación
02 instalación02 instalación
02 instalación
Roberto Moreno Doñoro
 
Manual Completo Php 5
Manual Completo Php 5Manual Completo Php 5
Manual Completo Php 5
Pablo Morales
 
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
Santiago Márquez Solís
 
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
José Antonio Sandoval Acosta
 
Servicio Samba ::: http://leymebamba.com
Servicio Samba ::: http://leymebamba.comServicio Samba ::: http://leymebamba.com
Servicio Samba ::: http://leymebamba.com
{|::::::. ELDAVAN .:::::::|}
 

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

Desarrollo Subversivo
Desarrollo SubversivoDesarrollo Subversivo
Desarrollo Subversivo
Ariel Graneros
 
Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion Subversion
Cesar Yanez
 
Subversion Press
Subversion PressSubversion Press
Subversion Press
jlrvpuma
 
Subversion
SubversionSubversion
Subversion
Jaime G. Teniente
 
Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversion
Julio Pari
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
Eudris Cabrera
 
Charla svn subversion
Charla svn subversionCharla svn subversion
Charla svn subversion
unsijslide
 
Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesion
Pablo Morales
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
drsevilla
 
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
miguelolivan
 
Guia01 control versiones
Guia01 control versionesGuia01 control versiones
Guia01 control versiones
GuadalupeLopezLeyva
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdf
Eric Quiñones
 
Charla git
Charla gitCharla git
Charla git
Juan Mendoza
 
Subversion: La tortuga y sus documentos
Subversion: La tortuga y sus documentosSubversion: La tortuga y sus documentos
Subversion: La tortuga y sus documentos
Mellado Pablo
 
Versionamiento
VersionamientoVersionamiento
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
Eudris Cabrera
 
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
David (davidjguru) Rodríguez
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
Eudris Cabrera
 
Control de versiones (CVS)
Control de versiones (CVS)Control de versiones (CVS)
Control de versiones (CVS)
Cursando Desarrollo Web
 
"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 marketing
Jose 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 masses
Jose 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 R
Jose Luis Lopez Pino
 
Metadata in Business Intelligence
Metadata in Business IntelligenceMetadata in Business Intelligence
Metadata in Business Intelligence
Jose 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 Clusters
Jose Luis Lopez Pino
 
Distributed streaming k means
Distributed streaming k meansDistributed streaming k means
Distributed streaming k means
Jose 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 it
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 it
Jose 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 libres
Jose Luis Lopez Pino
 
Esteganografia
EsteganografiaEsteganografia
Esteganografia
Jose Luis Lopez Pino
 
Presentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraPresentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De Carrera
Jose Luis Lopez Pino
 
Memoria Proyecto Fin de Carrera
Memoria Proyecto Fin de CarreraMemoria Proyecto Fin de Carrera
Memoria Proyecto Fin de Carrera
Jose Luis Lopez Pino
 
Presentacion CUSL nacional
Presentacion CUSL nacionalPresentacion CUSL nacional
Presentacion CUSL nacional
Jose Luis Lopez Pino
 
Resumen del proyecto Visuse
Resumen del proyecto VisuseResumen del proyecto Visuse
Resumen del proyecto Visuse
Jose Luis Lopez Pino
 
Presentacion cusl granadino
Presentacion cusl granadinoPresentacion cusl granadino
Presentacion cusl granadino
Jose Luis Lopez Pino
 
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
Jose Luis Lopez Pino
 
Visuse: resumen del I Hackathon
Visuse: resumen del I HackathonVisuse: resumen del I Hackathon
Visuse: resumen del I Hackathon
Jose 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ón
Jose 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

Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
Plan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en VenezuelaPlan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en Venezuela
Gabrielm88
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
pauca1501alvar
 
MODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdf
MODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdfMODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdf
MODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdf
SeleniaLavayen
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
Juan Carlos Gonzalez
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
LagsSolucSoporteTecn
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
edwinedsonsuyo
 
Ingeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdfIngeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdf
Camila301231
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
Guillermo Obispo San Román
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
231485414
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
yessicacarrillo16
 
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
KukiiSanchez
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 

Último (20)

Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
Plan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en VenezuelaPlan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en Venezuela
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
 
MODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdf
MODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdfMODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdf
MODELOS MODERNOS DE TECLADOS Y PANTALLAS.pdf
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
 
Ingeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdfIngeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdf
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
 
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 

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/