Control de versiones con Subversion

Aprende desde la creación del repositorio hasta el uso de las ramas y etiquetas. Principios de los SCM y uso de svn.
4.5 (10 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
72 students enrolled
$20
Take This Course
  • Lectures 65
  • Contents Video: 5.5 hours
    Other: 40 mins
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 6/2015 Spanish

Course Description

Un sistema de control de versiones debería formar parte de cualquier conjunto de herramientas de desarrollo.

Subversion es un robusto sistema de control de versiones open source con una cuota de mercado cercana al 50%.

Éste curso te permitirá, tanto si nunca has usado el Subversion como si eres un usuario que crees que no "exprimes" suficientemente la herramienta, aportar a tú día a día una seguridad y agilidad que seguro te sorprende. Una vez incorporada una herramienta de control de versiones y unas buenas prácticas a tu trabajo diario no hay vuelta atrás.

El curso dispone de más de 6 horas de vídeo, pero además hay pruebas y secciones que debes realizar tú mismo. ¡No creo en el aprendizaje pasivo así que prepárate para "quemar" la linea de comandos!

El curso está estructurado como sigue:

  1. Introducción al Subversion: En esta sección iremos con paso lento y seguro en la configuración básica de un primer repositorio.
  2. Un día con Subversion: Introducimos los conceptos y las operaciones más básicas y usadas. ¡En éste espacio es donde pasas el 90% de tu tiempo con Subversion!
  3. Metodología: Empezamos presentando que aspecto tienen dos herramientas y entornos muy usados en el mundo de Subversion. Creo, pero, que la forma de aprender la herramienta es trabajar directamente con ella, sin intermediarios. Estas y otras razones explican en esta sección la metodología usada durante el resto del curso.
  4. Obteniendo información del repositorio. Muchos usuarios tienen una visión del Subversion limitada a la sección 2. No es necesariamente criticable: quizás sea lo único que necesitan. Pero en este curso aspiramos a más y en esta sección se empieza a entrar a fondo en los detalles viendo como recuperar cualquier rastro de historia de nuestro proyecto.
  5. Working copy: figura central en nuestro trabajo diario. Veremos como Subversion estructura sus datos y recursos en el working copy. Estos conocimientos y otros comandos explicados nos permitirán aumentar el rendimiento y adaptar nuestro espacio de trabajo a nuestras necesidades.
  6. Propiedades. Que son las propiedades y como gestionarlas. Referenciar otros proyectos y evitar molestos avisos de ficheros desconocidos pasarán a formar parte de nuestro arsenal de herramientas.
  7. Opciones avanzadas. Seguro que sorprenderás a muchos colegas utilizando correctamente las peg revisions o las revision keywords para aumentar la fluidez de las interacciones con Subversion.
  8. Concurrencia. Conocerás en detalle el protocolo utilizado por Subversion para gestionar la concurrencia, que tipos de situaciones de puede producir y como reaccionar a cada una de ellas.
  9. Ramas y etiquetas. Y para el final lo mejor. Disponer de distintas versiones simultáneas de tu proyecto te permite desarrollar libremente y sin miedo tu siguiente gran funcionalidad al tiempo que reaccionas rápidamente a cualquier parche de urgencia que necesite tu sistema de producción. ¡Olvídate de los días donde entregar una nueva versión era fuente de nervios y estrés!

What are the requirements?

  • Un ordenador Mac, Windows o Linux con acceso al terminal de comandos.

What am I going to get from this course?

  • Entender en profundidad los conceptos básicos de un sistema de control de versiones.
  • Acceder a todos los estados por los que ha pasado un proyecto.
  • Desarrollar distintas versiones del proyecto que permitan un desarrollo ágil y, simultaneamente, ofrecer un producto sólido y estable.

What is the target audience?

  • ¡Dirigido tanto a estudiantes sin conocimiento previo de Subversion como a usuarios que tienen la sensación que no le están sacando todo el provecho posible!
  • El uso del Subversion se realizará mediante la linea de comandos. Es necesario un conocimiento básico de esta herramienta.
  • Este curso NO incluye aspectos de administración. Por ejemplo, como configurar un servidor Apache para el acceso al repositorio o como hacer copias de seguridad

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

00:27

¡Bienvenidos al curso de Subversion!

Espero que este curso os sirva para sacar el máximo provecho a Subversion. Todas vuestras aportaciones serán bienvenidas.

Muchas gracias por confiar en este curso.

Section 1: Introducción al subversion
Presentación
00:57
05:15

El proceso de instalación de Subversion en Windows es realmente sencillo.

¡Elige la distribución que contiene lo que necesitas (para este curso no usaremos Apache) y ya podemos empezar a trabajar!

Article

Al estar Subversion incluido en la mayoría de repositorios de código la instalación de Subversion en los sistema Linux se reduce a una simple instrucción.

04:19

El repositorio y el working copy son los dos elementos principales y más visibles del Subversion. Antes de empezar a preparar nuestro primer proyecto veremos que son estos elementos y la motivación tras su arquitectura.

00:53

Nuestro primer paso consistirá en crear un repositorio centralizado donde se guardará la copia maestra compartida por todos los usuarios.

05:12

LLega el momento de crear nuestro primer repositorio.

Veremos como el comando svnadmin create nos permite esta creación y que aspecto tiene el repositorio recien creado.

01:57

El comando import nos permite incorporar un contenido inicial a nuestro repositorio. Debemos indicar en que lugar tenemos el primer contenido que voy ha proporcionar y, por supuesto, a que repositorio voy a realizar esta importación.

04:03

Veamos como la idea presentada en la lección anterior se traduce en código.

En está lección, en el material adicional, encontraréis el proyecto de prueba que utilizaremos en el ejercicio.

01:13

Ya tenemos un repositorio con una primera versión del proyecto. Para seguir trabajando necesitaremos crear un working copy en nuestro espacio local y lo haremos mediante el comando svn checkout (o svn co)

02:01

Nuestro trabajo en un working copy se inicia con la creación de éste. El comando svn checkout permite crear un working copy para un repositorio concreto.

01:59

¡Ya hemos visto todos los pasos para empezar el trabajo!

¿Qué os parece si paramos un poco y repasamos uno por uno lo que hemos hecho?

Repaso de la primera sección
7 questions
Section 2: Un día de trabajo con subversion
Presentación
02:56
12:02

Como con la mayoría de herramientas, se cumple el principio del 10 / 90: ¡El 10 por ciento de los comandos de Subversion se usan el 90% del tiempo!

En esta y la siguiente lección vamos a ver en acción cuales son estos comandos más usados.

06:20

Seguimos con la exposición de los comandos de uso más habitual en Subversion. En esta sección se explican el comando status, add, del, revert y commit.

10:14

En las lecciones anteriores, a aparecido algunas veces el concepto de revision. En esta lección explicaremos de forma detallada en que consiste este concepto importantísimo en el uso de Subversion.

08:10

Una característica fundamental de Subversion es el "recuerdo" que tiene de todo el historial por el que ha pasado nuestro proyecto. svn move es un comando que ayuda a Subversion en esta tarea cuando renombramos o cambiamos la ubicación de un fichero o directorio.

07:36

¡Que sería de los programas sin su sistema de ayuda!

En esta lección se proporcionan las principales ideas para sacar provecho a esta herramienta.

04:36

Hemos visto como iniciar un proyecto usando el comando import.

En esta lección veremos como empezar de otra forma un proyecto con los comandos que ya han sido presentados.

Resumen
5 pages
Repaso segunda sección
5 questions
Section 3: Metodología
Presentación
02:45
03:45

Por supuesto, numerosas herramientas ofrecen integración con Subversion.

En esta lección veremos una de estas herramientas, Eclipse, y de que forma da acceso a los comandos que ya conocemos.

09:04

Los repositorios en el mismo ordenador son la mejor manera de introducirse a la herramienta y probar de forma ágil todo lo que vamos aprendiendo.

Pero seguramente muchos de vosotros estais impacientes por probar un sistema más "real", con un servidor externo y un acceso seguro. Para vosotros está esta clase: Vamos a crear un proyecto utilizando el servidor de subversion proporcionado por el servicio SourceForge

07:07

El objetivo de este curso es obtener un conocimiento sólido y profundo de Subversion.

En esta lección se presentan los motivos por los que este objetivo es más viable trabajando directamente sobre la herramienta en lugar de utilizar otros recursos como Eclipse o repositorios externos.

Preparación ejercicios
2 pages
Section 4: Obteniendo información del repositorio
Presentación
01:48
Working copy
07:39
04:11

Seguimos con comandos destinados a interrogar sobre el pasado y presente de nuestro proyecto. En este caso, ampliamos nuestro repertorio con comandos que interrogan directamente sobre el contenido del repositorio.

Resumen
6 pages
Repaso cuarta sección
3 questions
Section 5: working copy
Presentación
04:46
04:53

Ya conocemos que es el working copy y como lo usamos en nuestro trabajo diario.

En esta lección vamos a ir más allá (de hecho, mucho más allá!) y veremos como estructura internamente su información para poder dar los servicios que aporta.

04:15

Supongamos que teneis que enviar una copia del proyecto al cliente. El cliente no va a trabajar con Subversion en el proyecto: solo lo va a usar.

¿Cual es el inconveniente de enviarle el resultado de un checkout? ¿Como podemos mejorarlo? En esta lección presentaremos el comando que lo permite: svn export.

03:16

A partir de subversion 1.6 se añadió el uso del carácter caret (^) para facilitar la expresión de URLs cuando nos referíamos a un repositorio desde un working copy asociado.

En esta lección introduciremos esta notación.

Y una observación importante: ¡Si usáis Windows, no paséis por alto el documento descargable en la sección de material adicional!

07:15

Los change list permiten mantener conjuntos de ficheros separados y aplicar sobre ellos los comandos ya vistos.

Este recurso nos ayuda a organizarnos cuando realizamos distintas tareas simultáneamente sobre el mismo working copy.

12:57

No todos los elementos de nuestro working copy se encuentran siempre sincronizados con la misma revisión del repositorio. Este estado se conoce como mixed revision.

En este estado, algunos comandos pueden ofrecer un comportamiento extraño o, incluso, fallar completamente.

En esta lección veremos como se produce, detecta y finalmente, soluciona, la situación de mixed revision.

Resumen
5 pages
Repaso quinta sección
9 questions
Section 6: Propiedades
Presentación
03:37
11:49

En esta lección aprenderemos a asociar propiedades a ficheros o directorios contenidos en el Subversion.

05:22

En esta lección seguimos con las propiedades pero ahora nos centramos en la non-versioned: Propiedades que son asociadas a una revisión.

07:34

En esta lección conoceremos la existencia de un tipo especial de propiedades que son reconocidas por Subversion. Profundizaremos en una de las más usadas: svn:ignore.

05:47

En esta lección aprenderemos a reutilizar el contenido de una carpeta del repositorio entre distintos proyectos

Resumen
6 pages
6 questions

Aquesta

Section 7: Opciones avanzadas
Presentación
04:45
12:48

Algunas operaciones, por defecto, se propagan por los subdirectorios a partir del lugar donde son aplicadas. Otras, por el contrario, solo se aplican directamente sobre el path especificado. La recursividad es el concepto que se refiere a estos diferentes comportamientos.

En esta lección veremos como controlar la recursividad con la que actuan distintos comandos del Subversion.

05:50

En esta lección aprenderemos como usar la opción depth para controlar que partes del repositorio queremos excluir de nuestro working copy

14:04

Para facilitarnos el trabajo, Subversion define una serie de palabras claves para referirnos a revisiones destacadas del proyecto.

En esta leccion veremos en detalle cuales son y a que revisiones se refieren.

¡Apréndelo bién! Estas palabras claves proporcionan un toque de elegancia que seguro que será admirado por tus compañeros ;-)

09:41

A estas alturas ya está claro la importancia del concepto de revisión en Subversion.

En esta lección ampliaremos nuestro arsenal de recursos con otra forma de referirnos a las revisiones. Pero no os penseis que esta lección va de "hacer lo mismo pero de forma diferente"!. Veremos como el uso de las peg revisions nos permiten realizar operaciones que, con los recursos que teniamos hasta ahora, no serían posibles.

Resumen
5 pages
Repaso septima sección
7 questions
Section 8: Concurrencia
Presentación
02:59
08:52

Seguro que muchos llevais tiempo esperando tratar la cuestión: ¿Que sucede cuando dos usuarios modifican el mismo fichero?

En esta lección empezamos el tratamiento de este tema, la concurrencia. Y lo hacemos explicando el modelo básico que tiene Subversion para detectar y evitar (no sin inconvenientes) este tipo de situaciones.

06:33

El modelo de concurrencia explicado en la lección anterior no sirve para todos o para todas las situaciones.

En esta lección explicaremos como podemos introducir bloqueos que nos permitan un acceso exclusivo a las modificaciones de un fichero.

04:11

Tratamos en esta lección una de las posibles situaciones cuando se producen modificaciones concurrentes en un fichero: el merge.

En este caso, el más favorable, Subversion consigue combinar las dos fuentes de cambios sobre el mismo fichero.

07:51

Esta lección se situa en una situación pero que la anterior: en este caso, Subversion no consigue combinar las dos fuentes de cambios y se produce una situación de conflicto.

Veremos como se produce y que recursos tengo para solucionarlo.

08:57

La tercera situación posible es la de tree conflict. Esta situación se produce alguno de los cambios (o los dos) incluye cambios estructurales.

Esta lección muestra un ejemplo de esta situación y algunas ideas de como resolverlo.

Resumen
6 pages
Repaso octava sección
8 questions
Section 9: Ramas y etiquetas
Presentación
04:46
13:39

Esta lección responde a la pregunta ¿Por que me interesa tener distintas versiones de mi proyecto?

¡Para entender correctamente como funcionan las ramas, hay que empezar por conocer bién su razón de ser!

09:50

Vista la necesidad de tener distintas versiones en la lección anterior, ahora es el momento de ver como organizarlas.

Mostraremos en detalle cual es el convenio establecido en Subversion y usado en la mayoría de proyectos

05:52

El trabajo con ramas requiere de acciones realizadas directamente sobre el repositorio.

En esta lección veremos como podemos realizar estas acciones mediante los comandos que ya conocemos, pero aplicados de forma diferente.

09:19

Ya sabemos que son las versiones, como organizarlas y que comandos me permiten hacerlo.

¡Llega el momento de ver este proceso en acción!

05:10

Tener distintas versiones de mi proyecto no implica tener que duplicar todo el trabajo.

En esta lección veremos como propagar los cambios realizados en una versión a otra diferente, mediante el comando merge.

05:39

Ahora que disponemos de distintas versiones del producto, llegará el momento en el que me interesará pasar de trabajar de una version a otra.

El comando svn switch permite cambiar con que ubicación del repositorio trabaja un working copy. Es especialmente útil cuando queremos que un working copy pase de trabajar con una versión (por ejemplo trunk) a otra (por ejemplo la rama actual de producción).

Resumen
4 pages
Repaso novena sección
6 questions
Section 10: Despedida
Despedida
00:30
Clase extra: Acceso a otros cursos
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Domingo Sebastian, Software Engineer & Trainer

Ingeniero en Informática por la Universitat de les Illes Balears (UIB) y programador certificado en Java.

Llevo desde 1998 trabajando de analista y programador en distintas organizaciones. Empecé trabajando en aplicaciones Oracle con PL/SQL, pero me enganché al Java cuando aún estaba por las versiones 1.1. A partir de aquel momento, he ido trabajando en el interesantísimo ecosistema que se ha ido creando en torno al lenguaje y su máquina virtual.

Tengo más de 10 años de experiencia en formación de Java, JEE, bases de datos, servidores de aplicaciones y herramientas de desarrollo.

Ready to start learning?
Take This Course