Hoy vamos a explicar como realizar el control de versiones desde Xcode en repositorio SVN.

Como muchos sabemos Xcode es el SDK que Apple pone ha disposición de los desarrolladores para las aplicaciones de sus dispositivos y como ya adelantamos en el articulo de este enlace, dicho SDK ha sido actualizado a la versión 6.0.1.

La versión 6.0.1 como ya paso en la versión 5 de Xcode, ha sufrido varias modificaciones para permitir el desarrollo de aplicaciones destinadas a las nuevas versiones de sistemas operativos de Apple, tanto para dispositivos móviles como para los Mac.

Control de versiones en Xcode con SVN

Una de estas modificaciones más importante ha sido la del control de versiones. Y que es esto del control de versiones, se preguntaran algunos, bueno pues nada más que un control de las versiones que se van creando de la aplicación, algunas veces porque es desarrollada por varios programadores, otras porque es importante volver a una versión anterior por si la modificaciones realizadas no cumplen con los objetivos, etc… Como veis tiene muchas ventajas esto del control de versiones.

Bueno pues como iba diciendo el control de versiones ha cambiado y por tanto, veo la necesidad de explicar en unos pequeños pasos como integrar un Git o SVN, que son los dos únicos repositorios que puede utilizar directamente Xcode para el control de versiones. Git y SVN son dos tipos de repositorios distintos y que se configuran de forma distintas, pero son totalmente útiles, sin embargo, como ya indica el titulo de este post nosotros vamos hacerlo con SVN, y se va a suponer que ya tenemos un repositorio SVN montado en un servidor externo a nuestra máquina.

Una vez dicho todo esto, vamos a explicar por paso como integramos SVN en Xcode 6.0.1, para ello tendremos una dirección del servidor SVN, un usuarios y un clave de acceso, en mi caso, los datos son:

  • Servidor subversion: https://iosmac.es/svn/Apps/Mi_prueba
  • Usuarios: francis
  • Contraseña: francis

Como podéis observar en la dirección del servidor, tengo una carpeta destinada a mi proyecto la cual deberá tener dentro, tres carpetas obligatorias que son:

  • trunk: destinada a guardar el código más actualizada en el servidor.
  • tags: destinada a guardar un registro de las versiones actualizadas.
  • branches: está carpeta permite guardar versiones de códigos de pruebas experimentales.

Una vez tenemos todo lo necesario nos vamos a Xcode y lo abrimos, y sin abrir ningún proyecto nos situamos en la pestaña superior izquierda “Xcode” y pulsamos “Preferences”, y buscamos la pestaña “Account”, nos tiene que salir algo como lo que se muestra a continuación:

 

 iOSMac Control de versiones en SVN para Xcode 6

 

 

Le damos en la parte izquierda inferior, al botón “+”, y le indicamos que queremos añadir un repositorio “Add Repository…”, nos pedirá que le indiquemos la  dirección de la raíz del servidor, en mi caso, “https://iosmac.es/svn/Apps”, como veis no añado toda la ruta sino la raíz, es decir, cada vez que creamos un proyecto su ruta será la raíz más el nombre que le queramos llamar a la carpeta de control de versiones. Una vez introduzcamos el repositorio, nos detectará el servidor y nos pedirá el usuario y contraseña.

 

 iOSMac Control de versiones en SVN para Xcode 6

 

 

Si no nos da error ya tenemos añadido el repositorio donde se guardaran nuestros proyectos para realizar el control de versiones. Hasta aquí tan sólo hemos añadido el repositorio ahora pasamos a descargarnos el proyecto, es decir, esto se utilizará cuando creemos un nuevo proyecto o cuando queramos que otro compañero descargue nuestro proyecto para trabajar en dicho proyecto.

Una vez tenemos el repositorio abrimos Xcode y en las opciones de la ventana principal debemos pulsar en la opción “Check out an existing proyect”, una vez pulsamos esta opción, nos aparecerán 3 pestañas, debemos seleccionar la opción “Repositores”, en ella elegimos la cuenta que acabamos de crear y le añadimos el nombre del proyecto (recordad que dicho directorio tendrá que esta creado en el servidor, vacío y sin datos, tan sólo con las tres carpetas: trunk, tags, branches). Cuando lo seleccionemos nos pedirá que lo guardamos en local dicha carpeta, es decir, guardaremos una carpeta vacía en nuestro equipo, la cual será la carpeta en la que guardaremos nuestro proyecto.

Una vez tengamos la carpeta en nuestro equipo crearemos un proyecto en Xcode y lo guardaremos en la carpeta que acabamos de crear con la cuenta de subversión.

Llegado a este punto, ya tenemos todo lo necesario para sincronizar nuestro proyecto con el servidor SVN para el control de versiones, antes de realizar las tareas de sincronización debemos indicar a Xcode donde se encuentra las carpetas trunk, branches, tags, para que realice las actualizaciones correctamente. Para ello, nos vamos al proyecto y pulsamos en la pestaña superior “Source Control”>”nombre_carpeta_svn”>”Configure nombre_carpeta_svn”>”Configuration” y le indicamos en las etiqueta cada una su carpeta.

Ya tenemos configurado el SVN en nuestra carpeta, ahora debemos de tener claro los estados que puede tener nuestro código para luego poder hacer las principales operaciones que podemos realizar sobre nuestro código.

Los estados que puede tener cada archivo de nuestro proyecto son (aparece al lado del archivo):

  • M: archivos localmente modificado
  • U: actualizado repositorio
  • A: añadido en local
  • D: borrado localmente
  • I: ignorar
  • R: sustituido en el repositorio
  • -: cambios no claros
  • ?: no tiene control de fuente o no está en el servidor

Como veis todas estos estados son muy importante, ya que en función al estado del archivo realizaremos una operación u otra, y para realizar la operación sobre cada archivo debemos de pulsar el botón derecho sobre el archivo y pulsar “Source Control”. Como vereis los estados disponibles son:

  • Add: para añadir el control de fuente
  • Update: actualizara el archivo en local, es decir, en la copia que tenemos en nuestro equipo
  • Commit: se utiliza para subir los archivos al servidor, y se suele hacer una vez al día, cuando queremos subir cambios importantes que ya funcionan en modo local. Este proceso requiere de un mensaje significativo para el control de versiones y además aconsejo realizarlo desde la pestaña superior “Source Control” y pulsamos “Commit”.

Como veis es un proceso sencillo pero muy útil si nos dedicamos al desarrollo de software, ya que nos podría ahorrar más de un dolor de cabeza.

Aunque no hemos tratado los repositorio Git, debo decir que son repositorios más sencillos de utilizar que en Xcode, y si alguien necesita un tutorial sobre ello no dude en solicitarlo en un comentario en este post.

 

 

 

Quieres comprar un iPhone, iPad, MacBook o cualquier dispositivo tecnológico al mejor precio, en este canal se publican las mejores ganas y ofertas.