SlideShare a Scribd company logo
1 of 17
Download to read offline
Buenas prácticas
   SUBVERSION
Conceptos básicos


 ¿Qué es Subversion?

 ¿Qué es un commit?

 ¿Qué es una rama?

 ¿Qué es Merge?
Conceptos básicos (1/4)

¿Qué es Subversion (SVN)?
 Subversion es un software que proporciona un sistema
de control de versiones.
 Software libre bajo una licencia de tipo Apache/BSD.
 Todo el repositorio tiene un único número de versión que
identifica un estado común de todos los archivos del
repositorio en cierto punto del tiempo.
Conceptos básicos (2/4)

¿Qué es un commit?
  “Hacer un commit” significa subir (guardar) algún
 cambio al repositorio.
  Al hacer un commit, se genera un nuevo número de
 revisión en el repositorio, el cual se asignará a dicho
 commit.
  Es obligatorio añadir comentarios a los commits para
 poder seguir el progreso de un proyecto.
Conceptos básicos (3/4)

¿Qué es una rama?
  Directorio del repositorio que contiene código del
 proyecto.
  Lo habitual es tener 3 ramas:
     •Trunk: Es la rama principal de desarrollo.
     •Tags: Es la rama de “etiquetas”. (Hitos)
     •Branches: Esta rama se utiliza para crear
     desarrollos paralelos a la rama de trunk.
     (pruebas, desarollos largos, etc.)
Conceptos básicos (4/4)

¿Qué es Merge?
  La acción de aplicar diferencias entre dos rutas de
 trabajo.
  Merges entre ramas distintas o entre la misma rama, pero
 con diferentes versiones.
  Muy útil para descartar cambios que se hayan subido por
 error al repositorio, o para incorporar cambios que se haya
 desarrollado paralelamente a Trunk.
Buenas prácticas

 No utilizar SVN como un backup.
 Hacer commit por unidad lógica.
 Comentarios: obligatorios, precisos    y
  exhaustivos.
 NUNCA ROMPER TRUNK.
 Actualizarse los proyectos a menudo.
 No subir ficheros de configuración.
 Ver el histórico de cambios.
Buenas prácticas (1/8)

No utilizar SVN como un backup
  Se considera mala práctica hacer commit de todos los
 cambios cada día, por el simple hecho, por ejemplo, de que
 se acaba la jornada laboral.
  El motivo de un commit no es hacer una copia de
 seguridad, si no generar una nueva versión estable con
 nueva funcionalidad, correcciones, etc. sobre uno o varios
 proyectos.
Buenas prácticas (2/8)

¿Cada cuanto hacer commit?
  No se debe subir cada línea que se programe ni tampoco
 después de todo el día trabajando.
  Se debe hacer un commit tan pronto como los cambios
 conformen una unidad lógica, teniendo en cuenta que
 nunca se debe romper la compilación.
  No se debe temer remitir pequeños cambios con mucha
 frecuencia.
Buenas prácticas (3/8)

Comentarios: precisos y exhaustivos
  Cada commit debe ir asociado obligatoriamente con un
 comentario.
  Además, ese comentario deberá ser preciso y exhaustivo.
 Esto no quiere decir que haya que poner comentarios muy
 largos, si no que éstos deberán ser precisos y explicar qué
 es lo que hace ese commit y, en la medida de lo posible,
 indicar porqué se ha hecho.
Buenas prácticas (4/8)

NUNCA ROMPER Trunk
  Descargarse los cambios antes de hacer commit.
  Verificar siempre los cambios antes de enviarlos al
 repositorio.
  Comprobar que se sube todo lo que se tiene que subir, ni
 más ni menos, y en todos los proyectos con dependencia.
Buenas prácticas (4/8)
Buenas prácticas (5/8)

Actualizarse los proyectos a menudo
  Tener los proyectos lo más actualizado posible.
  En Eclipse, conviene usar continuamente la opción de
 “Synchronyze with repository” para ver los cambios de
 manera gráfica. Se desaconseja usar la acciones de
 commit y update sin haber hecho un “Synchronyze with
 repository” antes.
  Antes de hacer un commit.
Buenas prácticas (6/8)

No subir ficheros de configuración
   Controlar escrupulosamente los ficheros que se suben a
  Subversion.
   NUNCA subir ficheros de configuración de Eclipse (u
  otros IDEs), como ficheros .classpath, .project, etc.
Buenas prácticas (7/8)

Ver el histórico de cambios
   Te da una visión sobre lo que está pasando en el
  proyecto.
   Evita programar código repetido, ya que alguna
  funcionalidad resuelta por otro compañero puede ser
  reutilizada por nosotros.
Buenas prácticas (8/8)

Hacer REVERT, no deshacer a mano
   No deshacer a mano cambios hechos por error.
   Más fiable que hacerlo a mano.
   No hay que hacer un commit, la versión continúa como
  estaba.
SUBVERSION
Buenas Prácticas


           FIN
                          Iker Canarias
                   iker.canarias (gmail)

More Related Content

What's hot

Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrolloDavid
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareIker Canarias
 
Artículo 2 sobre la plataforma ECLIPSE
Artículo 2 sobre la plataforma ECLIPSEArtículo 2 sobre la plataforma ECLIPSE
Artículo 2 sobre la plataforma ECLIPSEtorrubia
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de softwareIker Canarias
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebFacundo E. Goñi Perez
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsBEEVA_es
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyJorge Antonio Linares Vera
 

What's hot (20)

CakePHP
CakePHPCakePHP
CakePHP
 
Maven
MavenMaven
Maven
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
 
9.laravel
9.laravel9.laravel
9.laravel
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de software
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Artículo 2 sobre la plataforma ECLIPSE
Artículo 2 sobre la plataforma ECLIPSEArtículo 2 sobre la plataforma ECLIPSE
Artículo 2 sobre la plataforma ECLIPSE
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Semana 1 Patrones de Diseño
Semana 1   Patrones de DiseñoSemana 1   Patrones de Diseño
Semana 1 Patrones de Diseño
 
Curso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa MavenCurso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa Maven
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Lenguaje de programación java
Lenguaje de programación javaLenguaje de programación java
Lenguaje de programación java
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Semana 7 Servicios Web REST con MongoDB final
Semana 7   Servicios Web REST con MongoDB finalSemana 7   Servicios Web REST con MongoDB final
Semana 7 Servicios Web REST con MongoDB final
 

Viewers also liked

Cas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controladaCas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controladapsluaces
 
Metodología de trabajo con SVN
Metodología de trabajo con SVNMetodología de trabajo con SVN
Metodología de trabajo con SVNIng. Jose Franco
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
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
 
Memorias webCast Gestión de Release
Memorias webCast Gestión de ReleaseMemorias webCast Gestión de Release
Memorias webCast Gestión de ReleaseAranda Software
 
Séverine Klein. Le CNES et les réseaux sociaux, intervention au CNAM
Séverine Klein. Le CNES et les réseaux sociaux, intervention au CNAMSéverine Klein. Le CNES et les réseaux sociaux, intervention au CNAM
Séverine Klein. Le CNES et les réseaux sociaux, intervention au CNAMKnowtex
 
Proyecto de una izquierda popular global
Proyecto de una izquierda popular globalProyecto de una izquierda popular global
Proyecto de una izquierda popular globalAnneo Cruz
 
Hidro dinamicatrabajo
Hidro dinamicatrabajoHidro dinamicatrabajo
Hidro dinamicatrabajoSaul Duque
 
Lo que necesitas saber acerca de ginecomastia
Lo que necesitas saber acerca de ginecomastiaLo que necesitas saber acerca de ginecomastia
Lo que necesitas saber acerca de ginecomastiaCirugía Estética y Spa
 
Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...
Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...
Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...Silvina Mei
 
Copello paredes comunidades
Copello paredes comunidadesCopello paredes comunidades
Copello paredes comunidadesjoaquinparedes
 
Yunpeng Cailliang
Yunpeng CailliangYunpeng Cailliang
Yunpeng CailliangChinois
 
___ - _____ - ______ _______ - ____÷__
  ___ - _____ - ______ _______ - ____÷__  ___ - _____ - ______ _______ - ____÷__
___ - _____ - ______ _______ - ____÷__Girishnath Trivedi
 

Viewers also liked (20)

Cas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controladaCas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controlada
 
Metodología de trabajo con SVN
Metodología de trabajo con SVNMetodología de trabajo con SVN
Metodología de trabajo con SVN
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
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
 
Memorias webCast Gestión de Release
Memorias webCast Gestión de ReleaseMemorias webCast Gestión de Release
Memorias webCast Gestión de Release
 
Servlets
ServletsServlets
Servlets
 
Análisis BPM Control de Cambio
Análisis BPM Control de CambioAnálisis BPM Control de Cambio
Análisis BPM Control de Cambio
 
Servlets
ServletsServlets
Servlets
 
Flyer sante2012
Flyer sante2012Flyer sante2012
Flyer sante2012
 
Séverine Klein. Le CNES et les réseaux sociaux, intervention au CNAM
Séverine Klein. Le CNES et les réseaux sociaux, intervention au CNAMSéverine Klein. Le CNES et les réseaux sociaux, intervention au CNAM
Séverine Klein. Le CNES et les réseaux sociaux, intervention au CNAM
 
Finales
FinalesFinales
Finales
 
Proyecto de una izquierda popular global
Proyecto de una izquierda popular globalProyecto de una izquierda popular global
Proyecto de una izquierda popular global
 
Hidro dinamicatrabajo
Hidro dinamicatrabajoHidro dinamicatrabajo
Hidro dinamicatrabajo
 
Lo que necesitas saber acerca de ginecomastia
Lo que necesitas saber acerca de ginecomastiaLo que necesitas saber acerca de ginecomastia
Lo que necesitas saber acerca de ginecomastia
 
LE TRIBU' DELL'UOMO
LE TRIBU' DELL'UOMOLE TRIBU' DELL'UOMO
LE TRIBU' DELL'UOMO
 
Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...
Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...
Consumir menos, vivir mejor. ideas pr†cticas para un consumo m†s consciente (...
 
Paris 2.0 une application C2C pour tablettes avec Microsoft présentée par Thi...
Paris 2.0 une application C2C pour tablettes avec Microsoft présentée par Thi...Paris 2.0 une application C2C pour tablettes avec Microsoft présentée par Thi...
Paris 2.0 une application C2C pour tablettes avec Microsoft présentée par Thi...
 
Copello paredes comunidades
Copello paredes comunidadesCopello paredes comunidades
Copello paredes comunidades
 
Yunpeng Cailliang
Yunpeng CailliangYunpeng Cailliang
Yunpeng Cailliang
 
___ - _____ - ______ _______ - ____÷__
  ___ - _____ - ______ _______ - ____÷__  ___ - _____ - ______ _______ - ____÷__
___ - _____ - ______ _______ - ____÷__
 

Similar to Subversion - buenas prácticas

[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
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris Cabrera
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de softwareJorge Rodriguez
 
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
 
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
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversionnqnwebs
 
Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesionPablo Morales
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
[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
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumSoftware Guru
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Cas2010 gestion-agil-de-la-configuracion
Cas2010 gestion-agil-de-la-configuracionCas2010 gestion-agil-de-la-configuracion
Cas2010 gestion-agil-de-la-configuracionAgile Spain
 

Similar to Subversion - buenas prácticas (20)

[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
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
 
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
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversion
 
Subversion
SubversionSubversion
Subversion
 
Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesion
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Cas2010 gestion-agil-de-la-configuracion
Cas2010 gestion-agil-de-la-configuracionCas2010 gestion-agil-de-la-configuracion
Cas2010 gestion-agil-de-la-configuracion
 
Guia01 control versiones
Guia01 control versionesGuia01 control versiones
Guia01 control versiones
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Rup
RupRup
Rup
 
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
 

More from Iker Canarias

Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnitIker Canarias
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones JavaIker Canarias
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en JavaIker Canarias
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBossIker Canarias
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIker Canarias
 

More from Iker Canarias (6)

Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnit
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones Java
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 

Recently uploaded

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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Recently uploaded (13)

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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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...
 
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
 
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)
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Subversion - buenas prácticas

  • 1. Buenas prácticas SUBVERSION
  • 2. Conceptos básicos  ¿Qué es Subversion?  ¿Qué es un commit?  ¿Qué es una rama?  ¿Qué es Merge?
  • 3. Conceptos básicos (1/4) ¿Qué es Subversion (SVN)?  Subversion es un software que proporciona un sistema de control de versiones.  Software libre bajo una licencia de tipo Apache/BSD.  Todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.
  • 4. Conceptos básicos (2/4) ¿Qué es un commit?  “Hacer un commit” significa subir (guardar) algún cambio al repositorio.  Al hacer un commit, se genera un nuevo número de revisión en el repositorio, el cual se asignará a dicho commit.  Es obligatorio añadir comentarios a los commits para poder seguir el progreso de un proyecto.
  • 5. Conceptos básicos (3/4) ¿Qué es una rama?  Directorio del repositorio que contiene código del proyecto.  Lo habitual es tener 3 ramas: •Trunk: Es la rama principal de desarrollo. •Tags: Es la rama de “etiquetas”. (Hitos) •Branches: Esta rama se utiliza para crear desarrollos paralelos a la rama de trunk. (pruebas, desarollos largos, etc.)
  • 6. Conceptos básicos (4/4) ¿Qué es Merge?  La acción de aplicar diferencias entre dos rutas de trabajo.  Merges entre ramas distintas o entre la misma rama, pero con diferentes versiones.  Muy útil para descartar cambios que se hayan subido por error al repositorio, o para incorporar cambios que se haya desarrollado paralelamente a Trunk.
  • 7. Buenas prácticas  No utilizar SVN como un backup.  Hacer commit por unidad lógica.  Comentarios: obligatorios, precisos y exhaustivos.  NUNCA ROMPER TRUNK.  Actualizarse los proyectos a menudo.  No subir ficheros de configuración.  Ver el histórico de cambios.
  • 8. Buenas prácticas (1/8) No utilizar SVN como un backup  Se considera mala práctica hacer commit de todos los cambios cada día, por el simple hecho, por ejemplo, de que se acaba la jornada laboral.  El motivo de un commit no es hacer una copia de seguridad, si no generar una nueva versión estable con nueva funcionalidad, correcciones, etc. sobre uno o varios proyectos.
  • 9. Buenas prácticas (2/8) ¿Cada cuanto hacer commit?  No se debe subir cada línea que se programe ni tampoco después de todo el día trabajando.  Se debe hacer un commit tan pronto como los cambios conformen una unidad lógica, teniendo en cuenta que nunca se debe romper la compilación.  No se debe temer remitir pequeños cambios con mucha frecuencia.
  • 10. Buenas prácticas (3/8) Comentarios: precisos y exhaustivos  Cada commit debe ir asociado obligatoriamente con un comentario.  Además, ese comentario deberá ser preciso y exhaustivo. Esto no quiere decir que haya que poner comentarios muy largos, si no que éstos deberán ser precisos y explicar qué es lo que hace ese commit y, en la medida de lo posible, indicar porqué se ha hecho.
  • 11. Buenas prácticas (4/8) NUNCA ROMPER Trunk  Descargarse los cambios antes de hacer commit.  Verificar siempre los cambios antes de enviarlos al repositorio.  Comprobar que se sube todo lo que se tiene que subir, ni más ni menos, y en todos los proyectos con dependencia.
  • 13. Buenas prácticas (5/8) Actualizarse los proyectos a menudo  Tener los proyectos lo más actualizado posible.  En Eclipse, conviene usar continuamente la opción de “Synchronyze with repository” para ver los cambios de manera gráfica. Se desaconseja usar la acciones de commit y update sin haber hecho un “Synchronyze with repository” antes.  Antes de hacer un commit.
  • 14. Buenas prácticas (6/8) No subir ficheros de configuración  Controlar escrupulosamente los ficheros que se suben a Subversion.  NUNCA subir ficheros de configuración de Eclipse (u otros IDEs), como ficheros .classpath, .project, etc.
  • 15. Buenas prácticas (7/8) Ver el histórico de cambios  Te da una visión sobre lo que está pasando en el proyecto.  Evita programar código repetido, ya que alguna funcionalidad resuelta por otro compañero puede ser reutilizada por nosotros.
  • 16. Buenas prácticas (8/8) Hacer REVERT, no deshacer a mano  No deshacer a mano cambios hechos por error.  Más fiable que hacerlo a mano.  No hay que hacer un commit, la versión continúa como estaba.
  • 17. SUBVERSION Buenas Prácticas FIN Iker Canarias iker.canarias (gmail)