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

Más contenido relacionado

La actualidad más candente

Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
David
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
Saúl Vázquez
 
9.laravel
9.laravel9.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
Iker 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 ECLIPSE
torrubia
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
Iker Canarias
 
Semana 1 Patrones de Diseño
Semana 1   Patrones de DiseñoSemana 1   Patrones de Diseño
Semana 1 Patrones de Diseño
Richard Eliseo Mendoza Gafaro
 
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
Cristian Romero Matesanz
 
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
Facundo E. Goñi Perez
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
Antonio Contreras
 
Lenguaje de programación java
Lenguaje de programación javaLenguaje de programación java
Lenguaje de programación java
yon leles sanchez morales
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
Eder Miguel Zamora Sanchez
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
Alberto Torreblanca Villavicencio
 
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
BEEVA_es
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
Andy Dawson
 
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
Jorge Antonio Linares Vera
 
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
Richard Eliseo Mendoza Gafaro
 

La actualidad más candente (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
 

Destacado

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
psluaces
 
Metodología de trabajo con SVN
Metodología de trabajo con SVNMetodología de trabajo con SVN
Metodología de trabajo con SVN
Ing. Jose Franco
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
Iker 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 svn
miguelolivan
 
Memorias webCast Gestión de Release
Memorias webCast Gestión de ReleaseMemorias webCast Gestión de Release
Memorias webCast Gestión de Release
Aranda Software
 
Análisis BPM Control de Cambio
Análisis BPM Control de CambioAnálisis BPM Control de Cambio
Análisis BPM Control de Cambio
Francisco Javier González Millán
 
Servlets
ServletsServlets
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 global
Anneo Cruz
 
Hidro dinamicatrabajo
Hidro dinamicatrabajoHidro dinamicatrabajo
Hidro dinamicatrabajo
Saul 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 ginecomastia
Cirugía Estética y Spa
 
LE TRIBU' DELL'UOMO
LE TRIBU' DELL'UOMOLE TRIBU' DELL'UOMO
LE TRIBU' DELL'UOMO
Adriano Guglielmo
 
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
 
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...
PSST (opinions et tendances 2.0) par jeremy dumont
 
Copello paredes comunidades
Copello paredes comunidadesCopello paredes comunidades
Copello paredes comunidadesjoaquinparedes
 
Yunpeng Cailliang
Yunpeng CailliangYunpeng Cailliang
Yunpeng CailliangChinois
 
___ - _____ - ______ _______ - ____÷__
  ___ - _____ - ______ _______ - ____÷__  ___ - _____ - ______ _______ - ____÷__
___ - _____ - ______ _______ - ____÷__Girishnath Trivedi
 

Destacado (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 a 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 subversion
Eudris Cabrera
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
Eudris Cabrera
 
Configuración de software
Configuración de softwareConfiguración de software
Configuración de software
Jorge 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ódigo
Jesus 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 gestion
Giovani Ramirez
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversionnqnwebs
 
Subversion
SubversionSubversion
Subversion
Ixchel Muffin
 
Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesion
Pablo 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 Seguras
José 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 Selenium
Software Guru
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
Abimael Desales López
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
Hugo 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
 
Guia01 control versiones
Guia01 control versionesGuia01 control versiones
Guia01 control versiones
GuadalupeLopezLeyva
 
Rup
RupRup
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
Diego Alejandro Rios Londoño
 

Similar a 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
 

Más de Iker Canarias

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

Más de 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
 

Último

Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
SandroNava1
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 

Último (20)

Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 

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)