SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Control de Versiones con

Subversion

Eudris Cabrera Rodríguez
Desarrollador de Software / Consultor Informático
13 Octubre 2013, Santiago de los Caballeros, R. D.
Eudris Cabrera Rodríguez
❏ Egresado de la carrera de Ingeniería Telemática de la PUCMM en
el 2006.
❏ Desarrollador Java EE / SE desde hace más de 6 años, laborando
para prestigiosas empresas; Cementos Cibao, 8A, Edenorte
Dominicana, entre otras.
❏ Desarrollador Informático / Consultor en PAFI (Programa de
Administración Financiera Integrada / Ministerio de Hacienda).
❏ Entusiasta de la tecnología y software libre.
❏ Un apasionado del aprendizaje, que cree en la cultura de compartir
conocimientos, enseñar y aprender de los demás.
Responsabilidades
Los conceptos y juicios de valor emitidos en esta presentación son
responsabilidad personal y no se puede entender como una posición
oficial de alguna empresa con la que he tenido relación laboral.

Asuntos Legales
Todas las marcas registradas, así como todos los logotipos, imágenes,
fotografías, audio y vídeos mostrados en esta presentación son
propiedad de sus respectivos propietarios.
Su utilización es solamente para fines ilustrativos y no pretendo dar a
entender cualquier afiliación con esas empresas.
Contenido
❏
❏
❏
❏
❏
❏
❏

¿Qué es un sistema de control de versiones ?
Clasificación
Evolución
Terminologías comunes
¿Por qué son necesarios?
Ventajas
Subversion (SVN)
❏ Arquitectura
❏ Estructura del repositorio
❏ Servidor Subversion (SVN)
❏ Instalación del Cliente (SVN)
❏ Recomendaciones
❏ Conclusiones
¿Qué es un sistema de control de versiones ?

Es un software que administra el acceso a un conjunto de archivos,
y mantiene un historial de cambios realizados.
Se llama control de versiones a la gestión de los diversos cambios
que se realizan sobre los elementos de algún producto o una
configuración del mismo.
El control de versiones es útil para guardar cualquier documento
que cambie con frecuencia, como una novela, o el código fuente de
un programa.
Características
Un sistema de control de versiones debe proporcionar:
❏ Mecanismo de almacenaje de los elementos que deba gestionar
(ej. archivos de texto,imágenes, documentación...)
❏ Posibilidad de realizar cambios sobre los elementos almacenados
(ej. modificaciones parciales, añadir, borrar, renombrar o mover
elementos)
❏ Registro histórico de las acciones realizadas con cada elemento o
conjunto de elementos (normalmente pudiendo volver o extraer un
estado anterior del producto)
Clasificación

La principal clasificación que se puede establecer está basada en la
forma de almacenamiento de los repositorios.
Centralizados

Existe un repositorio centralizado de todo el código, del cual es
responsable un único usuario (o conjunto de ellos).
Se facilitan las tareas administrativas a cambio de reducir la potencia y
flexibilidad, pues todas las decisiones fuertes (como crear una nueva
rama) necesitan la aprobación del responsable.
Algunos ejemplos son CVS y Subversion.
Flujo de trabajo centralizado
¿Cómo funciona ?

Normalmente consiste en una copia maestra en un repositorio
central, y un programa cliente con el que cada usuario sincroniza su
copia local.
Esto permite compartir los cambios sobre un mismo conjunto de
archivos.
Además, el repositorio guarda registro de los cambios realizados por
cada usuario, y permite volver a un estado anterior en caso de
necesidad.
Distribuidos

Cada usuario tiene su propio repositorio. Los distintos repositorios
pueden intercambiar y mezclar revisiones entre ellos.
Es frecuente el uso de un repositorio, que está normalmente
disponible, que sirve de punto de sincronización de los distintos
repositorios locales.
Ejemplos: Git, Mercurial y Bazaar.
Flujos de trabajo distribuidos
Evolución
Terminologías comunes
❏
❏
❏
❏
❏
❏
❏
❏
❏
❏
❏
❏

Repositorio
Version o Revisión
Conflicto
Resolver
Trunk o Rama Principal
Braches o bifurcaciones (ramas)
Tag o Rotulado (Etiquetado)
Merge o Fusión
Desplegar (Check-out, checkout)
Publicar o Enviar (commit, check-in)
Lista de cambios (changelist, change set, patch)
Actualización (sync ó update)
Prácticas Obsoletas
❏ Mantener un backup en computadoras o servidores diferentes,
así como también, guardar copia en disco compactos o disco
externos.
❏ Crear aplicaciones in-house para manejar las versiones de tu
código, quizás sea una buena opción pero está reinventando la
rueda, ya que existen opciones open source para manejar
versiones.
❏ Guardar los fuentes en Dropbox. Una solución usada en los
últimos tiempos por los programadores. Dropbox internamente
funciona como un manejador de versiones pero tiene sus limitantes
en el uso que puede darle un desarrollador.
¿Por qué son necesarios?

❏ Actualiza archivos modificados
❏ Historial de cambios
❏ Copias de seguridad centralizadas
❏ Acceso remoto
❏ Seguridad
Ventajas
La ventaja más obvia de usar control de versiones es la posibilidad
de tener un número ilimitado de personas que trabajan en la
misma base de código, sin tener que enviar constantemente los
archivos de ida y vuelta.
Desarrolladores y otros profesionales que manejan archivos a los
cuales se le realizan cambios constantemente, pueden beneficiarse del
uso de los sistemas de control de versiones para guardar copias de
sus archivos, diseños, libros, etc.
Usted puede navegar por los cambios anteriores realizado a su
repositorio y volver a versiones anteriores si pasa algo.
Popularidad

ZeroTurnaround Developer Productivity Report 2013
Subversion (SVN)
Desarrollador:
Comunidad, y desarrolladores de CollabNet, Elego,
VisualSVN, WANdisco
Url:
http://subversion.apache.org
Lanzamiento inicial :
20 de octubre de 2000
Programado en C.
Sistema operativo:
Multiplataforma
Licencia:
Licencia Apache
Subversion se creó para igualar y mejorar la funcionalidad de CVS,
preservando su filosofía de desarrollo.
Su desarrollo comenzó en el año 2000 como proyecto de código
abierto apadrinado por CollabNet.
El líder del equipo de desarrollo fue Karl Fogel, autor de Open Source
Development with CVS y fundador de Cyclic Software (compañía de
desarrollo y soporte comercial para CVS.
Arquitectura de Subversion
Probablemente sea el sistema de control de versiones con la adopción
más amplia.
La mayoría de los proyectos de código abierto utiliza Subversion como
repositorio.
Google Code utiliza Subversion exclusivamente para distribuir código.
Otros proyectos de mayor envergadura, como SourceForge, Apache,
y muchos otros también lo utilizan.
Estructura del repositorio SVN
Estructura del repositorio SVN
Configuración de SVN
Servidor Subversion (SVN)
Para obtener un servidor subversion tienes varias opciones:

Crear una cuenta en un servicio de alojamiento
gratuito.
Ejemplo:
https://www.assembla.com/home
http://unfuddle.com/
http://www.cloudbees.com
Servidor Subversion (SVN)
Configurar tu propio servidor en tu red local:
Existen muchos recursos que te permitirán configurar tu propio servidor
de versiones en tu red local, el siguiente tutorial es una excelente guía
para instalar un servidor subversion en ubuntu server 12.04
http://rbgeek.wordpress.com/2012/05/01/svn-server-on-ubuntu-12-04-lts-withweb-access/
Instalación del Cliente (SVN)
Instalar cliente de Subversion para S.O’s Windows o para el
sistema operativo de tu preferencia.

Descargar: TortoiseSVN
http://tortoisesvn.net/downloads.html
También podría usar las herramientas que nos ofrece wandisco,
SmartSVN y Vanilla Subversion (Command Line):
http://www.wandisco.com/subversion/download
Ciclo básico de trabajo
Subversion en la práctica
Recomendaciones
❏ No utilizar el control de versiones como un sistema de backup.
❏ Enviar los cambios al servidor cuando conformen una unidad
lógica.
❏ Ser preciso en los comentarios.
❏ Mantener la rama principal de proyecto sin errores de compilación.
Conclusiones
❏ Desarrollar un software implica invertir mucho tiempo y dinero. No
proteger el código fuente con un sistema de control de versiones
es irresponsable y puede traer graves consecuencias.
❏ Cualquier persona que trabaje con archivos que son sometidos a
cambios constantemente pueden beneficiarse del uso de los
sistemas de control de versiones para guardar copias de sus
archivos, diseños, libros, etc.
❏ Existen sistemas de control de versiones de código abierto, libre
distribución y amplia documentación, lo que permite su fácil
implementación y curva de aprendizaje.
Referencias
Version Control with Subversion
http://svnbook.red-bean.com/
http://subversion.tigris.org/

Libro Version Control with Subversion (Ben Collins-Sussman,
Brian W. Fitzpatrick, C. Michael Pilato).
Ensayo "Subversion" de Alejandro Ramírez
¿Preguntas?
Conoce a Astive Toolkit
❏ Framework para el desarrollo
de aplicaciones de voz.
❏ Ayuda a conectar Asterisk
con el resto del mundo
❏ Servidor y Kit de desarrollo
Java
Sitio Oficial:
http://astivetoolkit.org

Únete a nosotros en GitHub

@astivetoolkit
Para contribuir de forma segura
con Astive Toolkit, no olvides
hacer una bifurcación (Fork) del
repositorio.
Contacto
@eudriscabrera

eudriscabrera

@eudriscabrera

@eudris

Comunidades

Eudris Cabrera Rodríguez
eudris@gmail.com

@letsrockjava

@ecabrerar

Contenu connexe

Tendances

Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
 
TALLER PRÁCTICO POWER POINT - BASES DE DATOS
TALLER PRÁCTICO POWER POINT - BASES DE DATOSTALLER PRÁCTICO POWER POINT - BASES DE DATOS
TALLER PRÁCTICO POWER POINT - BASES DE DATOSJohnfer Montoya
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago2008PA2Info3
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Sistemas basados en conocimiento
Sistemas basados en conocimientoSistemas basados en conocimiento
Sistemas basados en conocimientoHugo Banda
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanArianna Peralta
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSxinithazangels
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
Sistema de archivos distribuido o DFS
Sistema de archivos distribuido o DFSSistema de archivos distribuido o DFS
Sistema de archivos distribuido o DFSRosariio92
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Elicitacion de requerimientos
Elicitacion de requerimientosElicitacion de requerimientos
Elicitacion de requerimientosTensor
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos Juan Henao
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareJohan Robles Solano
 

Tendances (20)

Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
TALLER PRÁCTICO POWER POINT - BASES DE DATOS
TALLER PRÁCTICO POWER POINT - BASES DE DATOSTALLER PRÁCTICO POWER POINT - BASES DE DATOS
TALLER PRÁCTICO POWER POINT - BASES DE DATOS
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Sistemas basados en conocimiento
Sistemas basados en conocimientoSistemas basados en conocimiento
Sistemas basados en conocimiento
 
Metodología CommonKADS
Metodología CommonKADSMetodología CommonKADS
Metodología CommonKADS
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizan
 
2.3.1
2.3.12.3.1
2.3.1
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Sistema de archivos distribuido o DFS
Sistema de archivos distribuido o DFSSistema de archivos distribuido o DFS
Sistema de archivos distribuido o DFS
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Elicitacion de requerimientos
Elicitacion de requerimientosElicitacion de requerimientos
Elicitacion de requerimientos
 
1ra Unidad Calidad Del Software
1ra Unidad  Calidad Del  Software1ra Unidad  Calidad Del  Software
1ra Unidad Calidad Del Software
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de Software
 
Ej Normalizacion Juan Glz
Ej Normalizacion Juan GlzEj Normalizacion Juan Glz
Ej Normalizacion Juan Glz
 

En vedette

En vedette (20)

Actividad1
Actividad1Actividad1
Actividad1
 
Lessons learned, PIONEERS UNPLUGGED, 11.04.2013
Lessons learned, PIONEERS UNPLUGGED, 11.04.2013Lessons learned, PIONEERS UNPLUGGED, 11.04.2013
Lessons learned, PIONEERS UNPLUGGED, 11.04.2013
 
Virus informaticos
Virus informaticosVirus informaticos
Virus informaticos
 
Dees jr,michael d4
Dees jr,michael d4Dees jr,michael d4
Dees jr,michael d4
 
Exposicion multimedia
Exposicion multimediaExposicion multimedia
Exposicion multimedia
 
To master sha
To master shaTo master sha
To master sha
 
What is in the mine
What is in the mineWhat is in the mine
What is in the mine
 
Aprendizaje colaborativo
Aprendizaje colaborativoAprendizaje colaborativo
Aprendizaje colaborativo
 
Características del arte gótico
Características del arte góticoCaracterísticas del arte gótico
Características del arte gótico
 
rhouseh_Module3_webeval
rhouseh_Module3_webevalrhouseh_Module3_webeval
rhouseh_Module3_webeval
 
La tierra
La tierraLa tierra
La tierra
 
Pdhpe rationale
Pdhpe rationalePdhpe rationale
Pdhpe rationale
 
Hiperactividad - TDAH
Hiperactividad - TDAHHiperactividad - TDAH
Hiperactividad - TDAH
 
Script for film
Script for film Script for film
Script for film
 
Segundo Ex. parcial Derlis Riquelme
Segundo Ex. parcial Derlis RiquelmeSegundo Ex. parcial Derlis Riquelme
Segundo Ex. parcial Derlis Riquelme
 
Folder2
Folder2Folder2
Folder2
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
Tax collection enforcement
Tax collection enforcementTax collection enforcement
Tax collection enforcement
 
La tierra
La tierraLa tierra
La tierra
 
La tierra
La tierraLa tierra
La tierra
 

Similaire à [ES] Control de versiones con subversion

Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris 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
 
[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven[ES] Primeros pasos con Maven
[ES] Primeros pasos con MavenEudris Cabrera
 
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ódigoJesus Castagnetto
 
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
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
Dev ops with Data
Dev ops with DataDev ops with Data
Dev ops with Datannakasone
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticasIker Canarias
 
HERRAMIENTAS CASE.pdf
HERRAMIENTAS CASE.pdfHERRAMIENTAS CASE.pdf
HERRAMIENTAS CASE.pdfCarmenKeim2
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionGiovani Ramirez
 
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Leonardo J. Caballero G.
 

Similaire à [ES] Control de versiones con subversion (20)

Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
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
 
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
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
S14-DAW-2022S1.pptx
S14-DAW-2022S1.pptxS14-DAW-2022S1.pptx
S14-DAW-2022S1.pptx
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
DevOps: una breve introducción
DevOps: una breve introducciónDevOps: una breve introducción
DevOps: una breve introducción
 
Dev ops with Data
Dev ops with DataDev ops with Data
Dev ops with Data
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticas
 
Subversion
SubversionSubversion
Subversion
 
Uf2216 04-git
Uf2216 04-gitUf2216 04-git
Uf2216 04-git
 
HERRAMIENTAS CASE.pdf
HERRAMIENTAS CASE.pdfHERRAMIENTAS CASE.pdf
HERRAMIENTAS CASE.pdf
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestion
 
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
 
Tema 1 Control de Versiones
Tema 1 Control de VersionesTema 1 Control de Versiones
Tema 1 Control de Versiones
 
Net Beans
Net BeansNet Beans
Net Beans
 

Dernier

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
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
 
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
 
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
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.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
 

Dernier (20)

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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.
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
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
 
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
 
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
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.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
 

[ES] Control de versiones con subversion

  • 1. Control de Versiones con Subversion Eudris Cabrera Rodríguez Desarrollador de Software / Consultor Informático 13 Octubre 2013, Santiago de los Caballeros, R. D.
  • 2. Eudris Cabrera Rodríguez ❏ Egresado de la carrera de Ingeniería Telemática de la PUCMM en el 2006. ❏ Desarrollador Java EE / SE desde hace más de 6 años, laborando para prestigiosas empresas; Cementos Cibao, 8A, Edenorte Dominicana, entre otras. ❏ Desarrollador Informático / Consultor en PAFI (Programa de Administración Financiera Integrada / Ministerio de Hacienda). ❏ Entusiasta de la tecnología y software libre. ❏ Un apasionado del aprendizaje, que cree en la cultura de compartir conocimientos, enseñar y aprender de los demás.
  • 3. Responsabilidades Los conceptos y juicios de valor emitidos en esta presentación son responsabilidad personal y no se puede entender como una posición oficial de alguna empresa con la que he tenido relación laboral. Asuntos Legales Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios. Su utilización es solamente para fines ilustrativos y no pretendo dar a entender cualquier afiliación con esas empresas.
  • 4. Contenido ❏ ❏ ❏ ❏ ❏ ❏ ❏ ¿Qué es un sistema de control de versiones ? Clasificación Evolución Terminologías comunes ¿Por qué son necesarios? Ventajas Subversion (SVN) ❏ Arquitectura ❏ Estructura del repositorio ❏ Servidor Subversion (SVN) ❏ Instalación del Cliente (SVN) ❏ Recomendaciones ❏ Conclusiones
  • 5. ¿Qué es un sistema de control de versiones ? Es un software que administra el acceso a un conjunto de archivos, y mantiene un historial de cambios realizados. Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. El control de versiones es útil para guardar cualquier documento que cambie con frecuencia, como una novela, o el código fuente de un programa.
  • 6. Características Un sistema de control de versiones debe proporcionar: ❏ Mecanismo de almacenaje de los elementos que deba gestionar (ej. archivos de texto,imágenes, documentación...) ❏ Posibilidad de realizar cambios sobre los elementos almacenados (ej. modificaciones parciales, añadir, borrar, renombrar o mover elementos) ❏ Registro histórico de las acciones realizadas con cada elemento o conjunto de elementos (normalmente pudiendo volver o extraer un estado anterior del producto)
  • 7. Clasificación La principal clasificación que se puede establecer está basada en la forma de almacenamiento de los repositorios.
  • 8. Centralizados Existe un repositorio centralizado de todo el código, del cual es responsable un único usuario (o conjunto de ellos). Se facilitan las tareas administrativas a cambio de reducir la potencia y flexibilidad, pues todas las decisiones fuertes (como crear una nueva rama) necesitan la aprobación del responsable. Algunos ejemplos son CVS y Subversion.
  • 9. Flujo de trabajo centralizado
  • 10. ¿Cómo funciona ? Normalmente consiste en una copia maestra en un repositorio central, y un programa cliente con el que cada usuario sincroniza su copia local. Esto permite compartir los cambios sobre un mismo conjunto de archivos. Además, el repositorio guarda registro de los cambios realizados por cada usuario, y permite volver a un estado anterior en caso de necesidad.
  • 11. Distribuidos Cada usuario tiene su propio repositorio. Los distintos repositorios pueden intercambiar y mezclar revisiones entre ellos. Es frecuente el uso de un repositorio, que está normalmente disponible, que sirve de punto de sincronización de los distintos repositorios locales. Ejemplos: Git, Mercurial y Bazaar.
  • 12. Flujos de trabajo distribuidos
  • 14. Terminologías comunes ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ Repositorio Version o Revisión Conflicto Resolver Trunk o Rama Principal Braches o bifurcaciones (ramas) Tag o Rotulado (Etiquetado) Merge o Fusión Desplegar (Check-out, checkout) Publicar o Enviar (commit, check-in) Lista de cambios (changelist, change set, patch) Actualización (sync ó update)
  • 15. Prácticas Obsoletas ❏ Mantener un backup en computadoras o servidores diferentes, así como también, guardar copia en disco compactos o disco externos. ❏ Crear aplicaciones in-house para manejar las versiones de tu código, quizás sea una buena opción pero está reinventando la rueda, ya que existen opciones open source para manejar versiones. ❏ Guardar los fuentes en Dropbox. Una solución usada en los últimos tiempos por los programadores. Dropbox internamente funciona como un manejador de versiones pero tiene sus limitantes en el uso que puede darle un desarrollador.
  • 16. ¿Por qué son necesarios? ❏ Actualiza archivos modificados ❏ Historial de cambios ❏ Copias de seguridad centralizadas ❏ Acceso remoto ❏ Seguridad
  • 17. Ventajas La ventaja más obvia de usar control de versiones es la posibilidad de tener un número ilimitado de personas que trabajan en la misma base de código, sin tener que enviar constantemente los archivos de ida y vuelta. Desarrolladores y otros profesionales que manejan archivos a los cuales se le realizan cambios constantemente, pueden beneficiarse del uso de los sistemas de control de versiones para guardar copias de sus archivos, diseños, libros, etc. Usted puede navegar por los cambios anteriores realizado a su repositorio y volver a versiones anteriores si pasa algo.
  • 19. Subversion (SVN) Desarrollador: Comunidad, y desarrolladores de CollabNet, Elego, VisualSVN, WANdisco Url: http://subversion.apache.org Lanzamiento inicial : 20 de octubre de 2000 Programado en C. Sistema operativo: Multiplataforma Licencia: Licencia Apache
  • 20. Subversion se creó para igualar y mejorar la funcionalidad de CVS, preservando su filosofía de desarrollo. Su desarrollo comenzó en el año 2000 como proyecto de código abierto apadrinado por CollabNet. El líder del equipo de desarrollo fue Karl Fogel, autor de Open Source Development with CVS y fundador de Cyclic Software (compañía de desarrollo y soporte comercial para CVS.
  • 22. Probablemente sea el sistema de control de versiones con la adopción más amplia. La mayoría de los proyectos de código abierto utiliza Subversion como repositorio. Google Code utiliza Subversion exclusivamente para distribuir código. Otros proyectos de mayor envergadura, como SourceForge, Apache, y muchos otros también lo utilizan.
  • 26. Servidor Subversion (SVN) Para obtener un servidor subversion tienes varias opciones: Crear una cuenta en un servicio de alojamiento gratuito. Ejemplo: https://www.assembla.com/home http://unfuddle.com/ http://www.cloudbees.com
  • 27. Servidor Subversion (SVN) Configurar tu propio servidor en tu red local: Existen muchos recursos que te permitirán configurar tu propio servidor de versiones en tu red local, el siguiente tutorial es una excelente guía para instalar un servidor subversion en ubuntu server 12.04 http://rbgeek.wordpress.com/2012/05/01/svn-server-on-ubuntu-12-04-lts-withweb-access/
  • 28. Instalación del Cliente (SVN) Instalar cliente de Subversion para S.O’s Windows o para el sistema operativo de tu preferencia. Descargar: TortoiseSVN http://tortoisesvn.net/downloads.html También podría usar las herramientas que nos ofrece wandisco, SmartSVN y Vanilla Subversion (Command Line): http://www.wandisco.com/subversion/download
  • 29. Ciclo básico de trabajo
  • 30. Subversion en la práctica
  • 31. Recomendaciones ❏ No utilizar el control de versiones como un sistema de backup. ❏ Enviar los cambios al servidor cuando conformen una unidad lógica. ❏ Ser preciso en los comentarios. ❏ Mantener la rama principal de proyecto sin errores de compilación.
  • 32. Conclusiones ❏ Desarrollar un software implica invertir mucho tiempo y dinero. No proteger el código fuente con un sistema de control de versiones es irresponsable y puede traer graves consecuencias. ❏ Cualquier persona que trabaje con archivos que son sometidos a cambios constantemente pueden beneficiarse del uso de los sistemas de control de versiones para guardar copias de sus archivos, diseños, libros, etc. ❏ Existen sistemas de control de versiones de código abierto, libre distribución y amplia documentación, lo que permite su fácil implementación y curva de aprendizaje.
  • 33. Referencias Version Control with Subversion http://svnbook.red-bean.com/ http://subversion.tigris.org/ Libro Version Control with Subversion (Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato). Ensayo "Subversion" de Alejandro Ramírez
  • 35. Conoce a Astive Toolkit ❏ Framework para el desarrollo de aplicaciones de voz. ❏ Ayuda a conectar Asterisk con el resto del mundo ❏ Servidor y Kit de desarrollo Java Sitio Oficial: http://astivetoolkit.org Únete a nosotros en GitHub @astivetoolkit Para contribuir de forma segura con Astive Toolkit, no olvides hacer una bifurcación (Fork) del repositorio.