Control de versiones con Subversion, Cornerstone, y Dropbox

Control-de-versiones-Subversion-Cornerstone-Dropbox-0

Sé que puede resultar algo anticuado trabajar con Subversion a estas alturas.

Por que Git es más Cool, es más sexy, pero a veces y no precisamente por decisión propia, necesitamos trabajar con un control de versiones basado en Subversión.

En esta entrada te enseñaré a trabajar con un control de versiones basado en Subversión, y con una herramienta que hará esta tarea un juego de niños: Cornerstone, además, crearemos un repositorio en Dropbox, que hará las veces de servidor para nuestros proyectos, ¡ahí es na!

No voy a entrar en detalles sobre lo que es un control de versiones, asumo que sabes lo que es, y sobre todo que no tienes elección entre usar Git y SVN, ya que de tener elección, quizá no elegirías una tecnología como esta última.

Descarga e instala Cornerstone

Déjame presentarte la aplicación que hará esto de hacer de salvavidas para tus proyectos, se trata de Cornerstone.

Como los desarrolladores anuncian en su Web, Cornerstone es la aplicación de subversión definitiva, y sólo está disponible para Mac.

Cornerstone se puede descargar de la Mac App Store, y no es gratis precisamente, tiene un coste de 59,99 €, aunque si adquieres su licencia no te vas a arrepentir, pues como digo, es muy sencillo llevar un control de versiones con subversión desde esta herramienta.

Configurando nuestro repositorio en Dropbox

Logicamente necesitamos un repositorio para ir guardando las versiones de nuestros proyectos, lo haremos en Dropbox.

Supongo que conoces Dropbox, se trata de un servicio de almacenamiento en la nube, en principio puedes tener una cuenta gratuita, con un espacio limitado, y pagar dinero a cambio de obtener más espacio.

Bien, vamos a usar Dropbox como un servidor para almacenar las versiones de nuestros proyectos a modo de repositorio.

Pero es muy importante que antes de crear este repositorio, descargues e instales en tu Mac la aplicación de Dropbox. Esta aplicación lo que hará será crearte una carpeta en local que está conectada permanentemente con tu almacenamiento en Dropbox, de esta forma, nosotros tendremos el repositorio en local, pero sincronizará con nuestro almacenamiento en la nube, en Dropbox.

Una vez hayas instalado la aplicación de Dropbox en tu Mac, debes crear una carpeta llamada SVN en el directorio principal.

Control-de-versiones-Subversion-Cornerstone-Dropbox-2

Y ya, está, pues lo siguiente que debemos hacer es conectar esta carpeta que acabamos de crear en Dropbox con nuestra aplicación de Cornerstone, ¡vamos a ello!

Conectar Cornerstone con el repositorio de Dropbox

Bien, una vez instalada la aplicación de Cornerstone, tendrás una pantalla como esta.

Control-de-versiones-Subversion-Cornerstone-Dropbox

Fíjate en la esquina inferior izquierda, ves el signo de +, es ahí dónde podemos añadir nuevos repositorios, haz clic en el signo +, y a continuación selecciona «Add Repository», aunque también podríamos haber añadido el repositorio desde la zona central, como puedes ver en la imagen superior.

Control-de-versiones-Subversion-Cornerstone-Dropbox-3

Control-de-versiones-Subversion-Cornerstone-Dropbox-111

Ahora tendrás varias opciones para elegir como quieres crear el repositorio, en nuestro caso vamos seleccionar File Repository, y dentro de esta opción, haz clic en Create a New Repository.

Control-de-versiones-Subversion-Cornerstone-Dropbox-4

En Where selecciona la carpeta con nombre SVN que hemos creado en el directorio principal del Mac.

Control-de-versiones-Subversion-Cornerstone-Dropbox-5

Control-de-versiones-Subversion-Cornerstone-Dropbox-6

Por último pon un nombre al repositorio.

Control-de-versiones-Subversion-Cornerstone-Dropbox-7

Bien, ya tenemos el repositorio creado, fíjate como en la esquina inferior izquierda, ya aparece el repositorio que acabamos de crear.

Control-de-versiones-Subversion-Cornerstone-Dropbox-8

Añadir un proyecto al repositorio

En este repositorio podemos añadir todos los proyectos que queramos, cada uno de los proyectos tendrá su propia carpeta.

Para añadir un proyecto al repositorio haz clic con el botón derecho del ratón y selecciona Import…

Control-de-versiones-Subversion-Cornerstone-Dropbox-9

Selecciona tu proyecto de Xcode.

Control-de-versiones-Subversion-Cornerstone-Dropbox-10

No hace falta que modifiques nada en la siguiente pantalla, haz clic en Import.

Control-de-versiones-Subversion-Cornerstone-Dropbox-11

Te pedirá que indiques un mensaje para guardarlo en el Log.

Control-de-versiones-Subversion-Cornerstone-Dropbox-12

Al finalizar, el proyecto será importado, será una copia del proyecto que está en el repositorio, en el servidor.

Working Copies

Ya hemos creado el repositorio y hemos añadido el proyecto al mismo, es ahora cuándo entra en juego el control de versiones.

Imagina que no estás solo, sí, es difícil, pero imagina que estás desarrollando un proyecto con otros desarrolladores en diferentes partes del mundo. Todos trabajando en el mismo proyecto.

Cada una de las personas que estéis trabajando en equipo, debéis obtener una copia del proyecto del repositorio, para que cualquier modificación que se haga, al resto de compañeros le aparezca como actualizaciones del proyecto, y pueda descargarse esas actualizaciones.

Así mismo, si tu por ejemplo modificas o desarrollas alguna nueva funcionalidad, al resto de compañeros deberían aparecerles estos cambios o añadidos.

A cada una de esas copias sobre las que cada uno de los desarrolladores trabajará Cornerstone las llama Working Copies.

Para hacer una Working Copy es tan sencillo como hacer clic con el botón derecho del razón y seleccionar la opción Check Out Working Copy…

Control-de-versiones-Subversion-Cornerstone-Dropbox-14

Te pedirá dónde quieres guardar tu copia, yo he seleccionado el Escritorio.
Control-de-versiones-Subversion-Cornerstone-Dropbox-12

Al finalizar tendrás el proyecto en el lugar que hayas seleccionado, pero lo más importante es que en Cornerstone, en la parte superior izquierda, te aparecerá el proyecto.

Ahora ya puedes abrir el proyecto que ha generado Cornerstone y trabajar sobre el, cuando hagas modificaciones, te aparecerá un número que indica que el proyecto ha sido modificado, y que esas modificaciones no han sido versionadas, es decir, no han sido subidas al proyecto de nuestro repositorio.

¿Te suena de algo «hacer un commit»? Pues es hora de hacerlo 🙂

Hacer commit

Cuando hagas modificaciones en el proyecto, haz commit, un commit es tu seguro de vida ante lo que pueden ser horas y horas de desarrollo tiradas a la basura si no guardas en el repositorio del servidor tu trabajo.

En Cornerstones es tan sencillo como hacer clic en el botón superior en la zona central.

Control-de-versiones-Subversion-Cornerstone-Dropbox-17

Control-de-versiones-Subversion-Cornerstone-Dropbox-20

Cómo puedes ver, además de commit hay otras opciones, vamos a ver cada una de ellas.

  • Revert: vuelves a una versión anterior a la del último commit, ideal si has metido la pata y has subido al repositorio el proyecto con el fallo.
  • Update: si tus compañeros o compañeras han hecho modificaciones en el proyecto, si haces clic en Update, descargarás todas esas modificaciones.
  • Merge: Es una opción para cuando varios estáis trabajando sobre una misma clase, por ejemplo, que tus modificaciones, y las de los compañeros o compañeras se fusionen.

Cosas a tener en cuenta

Pues esto es todo, ahora cualquier modificación en el proyecto te aparecerá en Cornerstone con un número, tanto las modificaciones que hagas tú para que hagas un commit, como las modificaciones que hagan los miembros del equipo, y en este caso deberás hacer un update.

Control-de-versiones-Subversion-Cornerstone-Dropbox-18

Es importante que no cambies el proyecto de ubicación, es decir que si hiciste Chekout en el escritorio, no muevas el proyecto de esa ubicación, si lo haces, Cornerstone perderá la referencia y no subirá los cambios al repositorio de Dropbox, así que mejor volver a hacer un Chekout Working Copy desde el repositorio a otra ubicación de tu Mac, en caso de querer mover el proyecto de lugar.

Desde Cornerstone también puedes hacer branch (ramas para diferentes desarrollos) así como Tags (guardar el proyecto en un determinado estado para tenerlo ahí almacenado), son dos botones que están situados en la parte superior.

Pues esto es todo, espero que este tutoría te sirva para tener tus proyectos a salvo de catástrofes, ya te digo que es una optima forma de aplicar el control de versiones de tus proyectos en tu Mac.

Nada más, si tienes cualquier duda déjame un comentario, o incluso si quieres agradecerme este pedazo de post de más de 1.000 palabras, también se agradecen felicitaciones y demás 😉

About The Author
iOS Developer & Instructor at CFE Apps. Enseño a crear aplicaciones iOS a todo el que quiera aprender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.