Inicio > desarrollo > Metodologia gestión de bugs con subversion

Metodologia gestión de bugs con subversion

Caso eclipse:

 

1- Primero hemos de estar situados en el tronco principal del proyecto, y verificar de que no se haya realizado ningún cambio en la copia local respecto a la copia del repositorio. Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionar “Team – Synchronize with Repository“.
Si no hay ninguna modificación, iniciaremos el proceso.

2- Ir al trunk “<nombre-proyecto>” y seleccionarlo: botón derecho mouse, seleccionar “Team – Switch to another Branch/Tag/Revision…”
Crearemos una copia del trunk en el propio repositorio que servirá para una vez realizadas las modificaciones, comparar los cambios realizados entre la situación inicial y la final (identificado con PRE_xxx, POST_xxx y BUG_xxx).

2.1 Crear la copia local BUG_xxx sobre la que realizaremos las modificaciones del código:

2.1.1: Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Branch-Tag…
2.1.2:Repository:
Copy to URL:  http://ip:puerto/svn/branches/BUG_nnn
next…
2.1.3: Copy Revision:
Create copy in the repository from: HEAD revision in the repository
next…
2.1.4: Branch/Tag comment:
introducir un comentario que se pueda vincular al gestor de tareas (p.e. “branch task #nnn“)

2.2 Crear la copia local PRE_xxx que será la copia base del código antes de realizar ninguna modificación, y que se utilizará a posteriori para comparar las modificaciones realizadas en el código:

2.2.1: Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Branch-Tag…
2.2.2:Repository:
Copy to URL:  http://ip:puerto/svn/tags/PRE_nnn
next…
2.2.3: Copy Revision:
Create copy in the repository from: HEAD revision in the repository
next…
2.1.4: Branch/Tag comment:
introducir un comentario que se pueda vincular al gestor de tareas (p.e. “inici task #nnn“)

3- Una vez creadas las copias del repositorio, hemos de descargar la copia marcada como “branches/BUG_nnn” del repositorio al sistema de archivos local del ordenador que será donde realmente modificaremos los archivos.
3.1: Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Switch to another Branch/Tag/Revision…
3.2.: Switch to Branch/Tag:
to URL: http://ip:puerto/svn/branches/BUG_nnn (si no apareciese en el desplegable, F5 para refrescar)
Switch to HEAD revision = Yes
Depth: Working copy
Allow unversiones obstructions=Yes, no marcar el resto de opciones

4…. Corregir los fuentes (p.e. *.java).

5. Ahora hay que sincronizar la copia local con el repositorio para ver las diferencias

5.1-  Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Synchronize with Repository…“; se obtendrán todos los archivos modificados respecto a la copia del repositorio remoto. Aquí se pueden consultar las diferencias concretas de cada archivo modificado.

5.2- Seleccionar los archivos que se han de subir al repositorio (botón derecho – commit)

6. Ahora se ha de indicar el final de la tarea de modificación de los archivos. Para ello, se crea una nueva rama que contiene una copia con los archivos modificados: Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam -Branch/Tag

6.1- Repository Location:

Copy to URL: http://ip:puerto/svn/tags/POST_nnn
Create copy in the repository from: seleccionar:HEAD revision in the repository
Log message: introducir un comentario que vincule a la tarea con el gestor de tareas (redmine) p.e. “Post task #<número tarea>

7- Ahora hemos de volver al tronco principal del proyecto, para así poder hacer un merge en el repositorio entre la situación inicial (marcada con PRE_nnn) y la situación final (marcada con POST_nnn).

7.1 Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Switch to another Branch/Tag/Revision…

to URL: http://ip:puerto/svn/trunk/<nombre-proyecto&gt;
Switch to HEAD revision=Yes,
Switch Depth: Working copy
Allow unversioned obstructions=Yes, no marcar el resto de opciones

8- Ahora desde el tronco principal hemos de fusionar las dos tareas PRE (estado inicial del repositorio antes de las modificaciones) y POST (estado final despues de las modificaciones).
8.1- Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Merge…
8.2- Merge input: seleccionar la opción: “Merge two different trees
8.3- Select the merge source and revisions: aquí seleccionamos el estado inicial antes de modificar y el posterior
From: http://ip:puerto/svn/tags/PRE_nnn
Seleccionar: HEAD Revision
To: http://ip:puerto/svn/tags/POST_nnn
Seleccionar: HEAD Revision

8.4-Conflict handling and Merge options:
Text files: Mark conflicts, let me resolve them later
Binary files: Mark conflicts, let me resolve them later
Property conflicts: Prompt me for each conflict and let me decide
Merge depth: “Working copy
Dejar el resto de valores por defecto

8.5- Realizar el merge (si la herramienta lo permite, es conveniente de realizar un test previo para visualizar los ficheros afectados)

9- Una vez realizado el merge en la copia local, falta subir los cambios de la copia local hacia el trunk del repositorio del subversion. Volvemos a repetir el paso(1):

9.1- Sobre el workspace que estemos desarrollando, botón derecho mouse, seleccionarTeam – Synchronize with Repository“.“; se obtendrán todos los archivos modificados respecto a la copia del repositorio remoto. Aquí se pueden consultar las diferencias concretas de cada archivo modificado.
9.2- marcar todos los ficheros, botón derecho – Commit.  Introducir un comentario para identificar los cambios.

ILLATÀ !!!

———————————

Caso TortoiseSVN:

1- Primero hemos de estar situados en el tronco principal del proyecto, y verificar de que no se haya realizado ningún cambio en la copia loca respecto a la copia del repositorio. Explorador de archivos, carpeta raíz del proyecto dentro del workspace de Eclipse. Botón derecho mouse, seleccionar “TortoiseSVN – Check for modifications

2- Si no hay ninguna modificación, iniciaremos el proceso:

2.1 crearemos una copia del trunk en el propio repositorio que servirá para una vez realizadas las modificaciones, comparar los cambios realizados entre la situación inicial y la final (identificado con PRE_xxx).

2.1.1: Explorador de archivos, carpeta raíz del proyecto dentro del workspace de Eclipse. Botón derecho mouse, seleccionar “TortoiseSVN – Branch-Tag
2.1.2:Repository:
From WC/URL:  http://ip:puerto/svn/<nombre_proyecto>/trunk
to path:  http://ip:puerto/svn/<nombre_proyecto>/tags/PRE_nnn
siendo “nnn” el número de tarea que tengamos en el gestor de tareas (p.e. redmine)
Log message: introducir un comentario que se pueda vincular al gestor de tareas (p.e. “inicio task #nnn“)
Create copy in the repository from: HEAD revision in the repository

2.2 crearemos una copia desde el trunk  del repositorio al disco local, y será la copia sobre la que realizaremos los cambios (identificado con BUG_xxx)
2.2.1: Explorador de archivos, carpeta raíz del proyecto dentro del workspace de Eclipse. Botón derecho mouse, seleccionar “TortoiseSVN – Branch-Tag
2.2.2:Repository:
From WC/URL: http://ip:puerto/svn/<nombre_proyecto>/trunk
to path: http://ip:puerto/svn/<nombre_proyecto>/branches/BUG_nnn
siendo “nnn” el número de tarea que tengamos en el gestor de tareas (p.e. redmine)
Log message: introducir un comentario que se pueda vincular al gestor de tareas (p.e. “branch task #nnn“)
Create copy in the repository from: HEAD revision in the repository

3- Una vez creadas las copias del repositorio, hemos de descargar la copia marcada como “branches/BUG_nnn” del repositorio al sistema de archivos local del ordenador que será donde realmente modificaremos los archivos.
3.1: Explorador de archivos, carpeta raíz del proyecto dentro del workspace de Eclipse. Botón derecho mouse, seleccionar “TortoiseSVN – Switch
3.2.: Switch:
Switch: <unidad_disco>:\<ruta>\workspace\<nombre-proyecto> (la carpeta local del pc)
To path:  /branches/BUG_nnn
Source URL: http://ip:puerto/svn/<nombre_proyecto>/trunk
Destination URL: http://ip:puerto/svn/<nombre_proyecto>/branches/BUG_nnn
Revision: HEAD revision, Switch Depth: Working copy, no marcar el resto de opciones

4…. Corregir los fuentes (p.e. *.java).

5. Ahora hay que sincronizar la copia local con el repositorio para ver las diferencias

5.1-  botón derecho – “TortoiseSVN – Check for modifications“; se obtendrán todos los archivos modificados respecto a la copia del repositorio remoto. Aquí se pueden consultar las diferencias concretas de cada archivo modificado.

5.2- Seleccionar los archivos que se han de subir al repositorio (botón derecho – commit)

6. Ahora se ha de indicar el final de la tarea de modificación de los archivos. Para ello, se crea una nueva rama que contiene una copia con los archivos modificados: botón derecho – “TortoiseSVN -Branch/Tag

6.1- Repository:

From WC/URL: http://ip:puerto/svn/<nombre_proyecto>/branches/BUG_nnn
To path:  URL: http://ip:puerto/svn/<nombre_proyecto>/tags/POST_nnn
Log message: introducir un comentario que vincule a la tarea con el gestor de tareas (redmine) p.e. “Post task #<número tarea>
Create copy in the repository from: seleccionar: “HEAD revision in the repository

7- Ahora hemos de volver al tronco principal del proyecto, para así poder hacer un merge en el repositorio entre la situación inicial (marcada con PRE_nnn) y la situación final (marcada con POST_nnn).

7.1 botón derecho – “TortoiseSVN – Switch
Switch: <unidad_disco>:\<ruta>\workspace\<nombre-proyecto>
To path:  URL: http://ip:puerto/svn/<nombre_proyecto>/trunk
Revision: HEAD revision, Switch Depth: Working copy, no marcar el resto de opciones

8- Ahora desde el tronco principal hemos de fusionar las dos tareas PRE (estado inicial del repositorio antes de las modificaciones) y POST (estado final despues de las modificaciones).
8.1- botón derecho – “TortoiseSVN – Merge
8.2- Merge type: seleccionar la opción: “Merge two different trees
8.3- Tree merge: aquí seleccionamos el estado inicial antes de modificar y el posterior
From: http://ip:puerto/svn/<nombre_proyecto>/tags/PRE_nnn
Seleccionar: HEAD Revision
To: http://ip:puerto/svn/<nombre_proyecto>/tags/POST_nnn
Seleccionar: HEAD Revision

8.4-Merge options:
Merge depth: “Working copy
Dejar el resto de valores por defecto

8.5- Realizar el merge (es conveniente de realizar un test previo para visualizar los ficheros afectados)

9- Una vez realizado el merge en la copia local, falta subir los cambios de la copia local hacia el trunk del repositorio del subversion. Volvemos a repetir el paso(1):

9.1-  botón derecho – “TortoiseSVN – Check for modifications“; se obtendrán todos los archivos modificados respecto a la copia del repositorio remoto. Aquí se pueden consultar las diferencias concretas de cada archivo modificado.
9.2- marcar todos los ficheros, botón derecho – Commit.  Introducir un comentario para identificar los cambios.

ILLATÀ !!!

Categorías:desarrollo Etiquetas: ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: