sábado, 13 de abril de 2013

Subir código a un Repositorio SVN desde Eclipse

Para continuar con la secuencia de entradas sobre control de versiones, en un Post anterior trabajamos con un repositorio de documentación, esta vez vamos a trabajar con un Repositorio de Código.


A continuación vamos a agregar el proyecto Jboss Seam (Generado en la practica anterior) a un repositorio que ya tenemos creado previamente, en este caso trabajaremos el ejemplo usando Eclipse Galileo y el repositorio usando la Herramienta  google.code, si no cuentas con un repositorio puedes ver como crear uno en el siguiente enlace.

Para el desarrollo de este taller, asumiremos que se tienen conocimientos previos sobre el manejo de las funciones básicas del IDE Eclipse, así como los conceptos básicos sobre Repositorios y Control de Versiones.

En Marcha!!!

Partiendo de que tenemos nuestro proyecto montado en el IDE Eclipse y un repositorio disponible donde almacenarlo, procederemos a establecer la conexión entre Eclipse y SVN para así subir el código al repositorio.

Configurar Conexión.

Inicialmente desde Eclipse nos ubicamos en la carpeta del proyecto, presionamos clic derecho y seleccionamos “Team/Share Project…” 



A continuación se cargará una ventana en la que seleccionamos el sistema de control de versiones a utilizar, seleccionamos SVN y presionamos Next.



Ingresamos la Url del repositorio creado con anterioridad y presionamos Next (Se debe tener en cuenta que, si ya teníamos previamente un repositorio agregado, eclipse nos preguntaría si deseamos utilizarlo o agregar un nuevo repositorio )



Luego se cargará otra ventana solicitando el nombre de la carpeta en el repositorio, dejamos por defecto la opción Use Project name as folder name y presionamos Finish.


A continuación nos solicitara el ingreso de las credenciales requeridas para acceder al repositorio, ingresamos el nombre y contraseña y presionamos Ok, Opcionalmente pueden guardar el Password para que no lo solicite de nuevo o en caso de que manejen varios repositorios con diferentes usuarios es recomendable no hacerlo (Para este ejemplo usamos la contraseña generada desde Google Code, si no recuerda como obtener la contraseña puede ver el proceso aquí).



Hasta aquí ya entablamos conexión entre nuestro Repositorio y el proyecto, tenemos un ambiente Local que será nuestro proyecto en el Workspace y un ambiente remoto que será nuestro proyecto almacenado en el repositorio, también podemos observar que la carpeta del proyecto tiene un asterisco (*), esto quiere decir que en nuestro ambiente local hay cambios que no están en el ambiente remoto, pues efectivamente hasta el momento se encuentra vacío y todo lo tenemos en el local,  ahora solo nos falta subir el código al repositorio por medio de un commit.

Realizar Commit al proyecto.

Cuando realizamos commit, lo que hacemos básicamente es subir los cambios que tenemos en nuestro ambiente local al ambiente remoto, de esta manera tendremos actualizado el código con el que está en el repositorio a medida que hacemos cambios.

Para esto nos ubicamos nuevamente en la carpeta del proyecto, presionamos clic derecho y seleccionamos “Team/Synchronize with Repository” podemos ver que ya existen muchas más opciones que antes no nos aparecían, ya que al entablar comunicación con el repositorio se habilitan las acciones disponibles a realizar, en este caso lo que hacemos es sincronizar con el repositorio para ver si hay diferencias entre lo que existe y lo que tenemos localmente.



Eclipse nos pedirá cambiar la perspectiva en la que estamos, le damos aceptar y veremos que se encuentra el proyecto con todos los cambios a subir, esta perspectiva se usa cuando queremos ver las diferencias entre el local y el remoto, por si existen cambios, actualizaciones o conflictos por resolver, le damos clic derecho “Commit…”.



Inmediatamente se carga una ventana donde tendremos que dejar un comentario sobre lo que se sube al repositorio, y nos muestra cuales son los archivos a subir.



Luego se carga una ventana informándonos sobre el progreso del commit, en caso de que anteriormente no se hubiera almacenado la contraseña del usuario SVN, nuevamente se solicitara aquí, caso contrario SVN asume que cuenta con los permisos requeridos para realizar esta acción.


Este proceso puede tomar un momento ya que estamos subiendo una gran cantidad de archivos, finalmente la ventana se cerrará y nos dejara en la perspectiva informándonos que no hay más cambios para subir.

Ahora simplemente si queremos podemos comprobar ingresando al trunk del repositorio y verificando que los archivos se encuentren allí almacenados.


  y Listo!!!! ya tenemos nuestro código almacenado en el Repositorio.



También te podría Interesar. 


¿Hay algo que quieras anexar o comentar sobre esta entrada?  no dudes en hacerlo....

4 comentarios:

  1. Muchas gracias por el tutorial, me fue muy util para aprender.
    Por otro lado tengo una duda, al sincronizar por primera vez me crea la revision 1, al cargar el codigo me genera la revision 2. La revision 1 no tiene nada solo cra la carpeta del projecto, ¿es posible dejar comenzar con solo la revision 1 con todo el codigo sin que quede una revision anterior vacia?

    ResponderEliminar
  2. ami no me aparece eso de SVN ya he trabajado con eso pero sera que se debe que el eclipse que tengo es portable? necesito tenerlo instalo para poder compartirlo en tortoiseSVN?

    ResponderEliminar
  3. Hago el mismo proceso desde C# y crea la carpeta principal pero al ingresar a la carpeta para ver los archivos no me muestra ninguno.

    ResponderEliminar

  4. Uploading code to an SVN repository from Eclipse is a seamless process, streamlining collaborative coding efforts. In the coding world, where precision is paramount, it's equally crucial to focus on personal well-being. Stay informed about Advancements in Dental Technology, ensuring your code commits align with the precision of a well-maintained and confident smile. Let technological strides be accompanied by innovations in comprehensive oral care.

    ResponderEliminar

Eres libre de realizar cualquier comentario, desde que pueda ayudar con gusto lo atenderé, y si es un critica, bienvenida sea!!!