¿Cómo configurar el repository svn en Xcode 6?

Acabo de empezar a trabajar con Xcode y tratar de agregar un repository de Subversion en el server remoto de Windows. Cuando ingrese la ruta de location del repository de Subversion, muestra el siguiente post de error:

Mensaje de error :

"El host no es accesible".

Por favor, ¿alguien puede ayudar? Gracias.

Configurar el control de fuente svn es siempre un dolor incluso sin Xcode, y Apple no pudo ayudarlo con su integración a Xcode. Cambió de versión a versión y lo último es similar desde la versión 5, por lo que lo mismo está en Xcode 6. El único problema con esta solución es que siempre tenemos que combinar la línea de command y los pasos GUI de Xcode, pero esta es la única solución de trabajo. Seguiremos esto, pero usando Xcode cuando sea posible.

Como lo hice varias veces, pero siempre tropezé con varios problemas, decidí hacer una descripción detallada y clara al día.

El lado del server

Incluso si pudiera instalar el server svn en su máquina, no es una solución segura incluso si trabaja solo. Podría perder sus años de trabajo con un disco duro averiado o cualquier crash. Así que hazlo en una computadora por separado. Necesita una installation del server svn y un inicio de session. Podría verificarlo, simplemente ssh en su server y use el command en el terminal

which svn 

Si obtiene un número de versión, posiblemente tenga un directory de repository vivo en ese server y lo puede alcanzar. La location exacta depende de su installation pero, en nuestro caso, el directory principal del repository es: https://myserver.me.com/Library/Subversion/Repository/

Crearás tu nuevo repository bajo este directory como https://myserver.me.com/Library/Subversion/Repository/MyNewApp


1. Cree un repository NUEVO.

Inicie session en su server (en nuestro caso myserver.me.com ) luego abra la utilidad Terminal y use el command svnadmin create para crear un repository Subversion. Por ejemplo, si desea un repository denominado MyNewApp en la location existente /Library/Subversion/Repository/ , ingresaría el command:

 svnadmin create /Library/Subversion/Repository/MyNewApp 

Esto creará la estructura principal del repository. Salimos del server para evitar cualquier problema y no lo usamos directamente desde ahora, solo desde el lado del cliente.

El lado del cliente

2. Cree la estructura de la carpeta

Nota: Crear una jerarquía para su repository es opcional. No es necesario para que svn funcione correctamente, pero si planea mantener varios proyectos bajo control de fuente, es una buena idea organizarse antes de comenzar a importar esos proyectos.

Prepararemos la estructura de carpetas en el cliente y luego la transferiremos al server con un command svn denominado "import".

1. Primero cree una nueva carpeta temporal en cualquier lugar de su cliente, por ejemplo, en su Escritorio, con el nombre del proyecto / repository en el Finder en nuestro caso MyNewApp:

 MyNewApp 

Luego crea 3 otras carpetas con el nombre exacto:

 trunk branches tags 

2. Importar la estructura de la carpeta al server svn.

Inicie session en su cliente con la utilidad Terminal y utilice el command "cd" en la carpeta del proyecto:

 cd MyNewApp 

Sugerencia: la forma más fácil de get la ruta completa de una carpeta en la Terminal sin correr el riesgo de errores de tipeo es primero escribir el command cd e ingresar un espacio, y luego arrastrar la carpeta desde el Finder y soltarla al final de la línea de command Terminal .

3. Luego use el command svn import desde Terminal:

 svn import . https://myserver.me.com/Library/Subversion/Repository/MyNewApp -m "Initial import of directories for MyNewApp project." 

o

 svn import . svn+sshtunnel://yourLoginName@194.149.155.124/Library/Subversion/Repository/MyNewApp -m "Initial import of directories for MyNewApp project." 

El segundo es el uso más seguro con las keys ssh donde 194.149.155.124 es la dirección IP del server. svn+sshtunnel:// significa que usa svn y sshtunnel pero podría ser cualquier otro dependiendo del mecanismo de inicio de session como https:// o svn:// El "." después de que el command "importar" sea importante, significa la misma carpeta donde se encuentra.

Si la import fue exitosa, debería ver algo como esto:

 Adding trunk Adding branches Adding tags Committed revision 1. 

Nota: Esto significa que esta es la primera versión comprometida que cargó en el server en el repository MyNewApp y está bajo control de revisión por svn con un post que hace reference a lo que hizo y puede usar lo que quiera. Ahora que ha importado la estructura de directorys para su proyecto en el repository, ahora puede eliminar el directory MyNewApp1 en su computadora que acaba de crear. Hacer esto ayudará a evitar confusiones más adelante, cuando importe el proyecto real.

3. Importar el proyecto Xcode en svn

Con el terminal, navegue hasta su proyecto Xcode y asegúrese nuevamente de que está en la carpeta del proyecto

 cd MyNewApp 

luego usa de nuevo el siguiente command svn:

 svn import . https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk/MyNewApp1 -m "Initial import of MyNewApp1 project." 

o con una location exacta en su computadora / Usuarios / myUserName / Apps_Developing / myNewApp

 svn import -m "New Import" /Users/myUserName/Apps_Developing/myNewApp https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk/MyNewApp1 

Si la import se realizó correctamente, debería ver la larga list de files agregados …

Nota: Esto significa que usted importa el proyecto MyNewApp1 (podría usar cualquier nombre) al tronco bajo svn. La extensión del tronco es importante debido a la convención de nomenclatura utilizada por Xcode también. Nuevamente puede include cualquier comentario que desee en las comillas, pero asegúrese de que su comentario sea significativo para cualquiera que use el repository.


4. Agregue el repository en Xcode

Ahora inicie Xcode y vaya a Preferences -> Accounts y agregue un nuevo repository con el "+" en la esquina inferior izquierda

 + Add Repository... 

Ingrese la dirección del repository.

 https://myserver.me.com/Library/Subversion/Repository/MyNewApp 

Pantalla Xcode para agregar repositorio

Nota: ¡No utilice el tronco, etc., necesita la raíz del repository aquí!

5. Comtesting el proyecto para crear una copy de trabajo

En Xcode, vaya a Source Control -> Check Out...

Ingrese la dirección del repository del tronco (o twigs o tags si las utilizó anteriormente)

 https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk 

luego da el nombre de la carpeta de copy de trabajo y su location

introduzca la descripción de la imagen aquí

Nota: el tronco es importante !!! Simplemente escríbelo después de la raíz, si lo extrañas, ¡habrá carpetas de tronco, etc. en tu carpeta! El nombre del directory es el que te gusta, por ejemplo MyNewAppWorking … luego, elige la location en tu computadora como Apps_Developing en nuestro caso.