[EVENTO] MSDN: Mesa redonda- Todo lo que siempre quisiste saber y no te atreviste a preguntar sobre… código fuente

image

Buenas,

el próximo miércoles, 23 de marzo de 2011 a partir de las 1900 nos juntaremos con los amiguetes de MadridDotNet para hablar de unos de los temas más interesantes para aquellos que desarrollamos software >

Experiencias sobre la gestión del código fuente !!!

Ahi le has dado, por fin podré soltar todas las alabanzas que poseo para Visual Source Safe y obviamente para SubVersion Smile with tongue out. Algo le caerá a Team Foundation Server 2010 y si con suerte tenemos a alguien que esté utilizando GIT (de verdad, no para tonterías), pues será bueno escuchar que tiene que decir al respecto.

Para registrarse el link > http://madriddotnet.wordpress.com/2011/03/17/evento-msdn-mesa-redonda-todo-lo-que-siempre-quisiste-saber-y-no-te-atreviste-a-preguntar-sobre-cdigo-fuente/

 

Saludos @ Home

El Bruno

   

[TFS2010] HOWTO: SINCRONIZAR CONTENIDOS DESDE SUBVERSION HACIA TFS2010 [II]

image47dd1de4

Buenas,

ayer escribí un post sobre como montar un escenario para sincronizar contenidos desde un repositorio de SubVersion hacia un repositorio de Team Foundation Server 2010.

Un punto interesante de la herramienta de sincronización, es que en estos cass y con un proceso de sincronización ya definido, existen unos baselines sobre los que la misma puede continuar con la sincronización y solo aplicar los cambios desde la última sincronización.

Por ejemplo, si vemos el log de un archivo del repositorio de SubVersion, podremos ver que en el mismo se han producido un par de cambios en el día de hoy.

image

 

Si lanzamos el proceso de migración desde la herramienta de TFS Integration Platform, veremos que en la misma solo se aplican los cambios en el histórico de acciones. Estos cambios se corresponden con los únicos cambios detectados desde la última sincronización.

image

 

Finalmente si accedemos al histórico de TFS2010, también podremos ver como se han sincronizado estos cambios de manera correcta.

image

 

Saludos @ Home

El Bruno

   

[TFS2010] HowTo: Sincronizar contenidos desde SubVersion hacia TFS2010 [I]

image47dd1de4

Buenas,

después de mi pequeño post de hace 2 días:

[TFS2010] HowTo: Exportar el contenido completo de un repositorio de SubVersion a otro repositorio de Subversion

hoy mostraré un pequeño tutorial para mostrar como importar al source control de Team Foundation 2010 el contenido de un repositorio de SubVersion. Para esto utilizaremos las herramientas de integratión de TFS Integration Platform.

Tutorial

1. En primer lugar, debemos instalar las herramientas de integración. Es importante seleccionar el adaptador de SubVersion (en estado Alpha), para que tengamos acceso al mismo al momento de realizar la migración.

image

Actualmente se pueden descargar desde http://tfsintegration.codeplex.com/releases/view/35476

2. El instalador requiere de una instancia de SQL Server para guardar las definiciones de integración y el progreso de los mismos. Si no tienes un SQL Server a mano, puedes instalar y utilizar la versión Express de SQL Server. http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=58CE885D-508B-45C8-9FD3-118EDD8E6FFF

3. La plataforma de integración cuenta con una herramienta que visualmente nos permite definir los procesos de migración o integración. Lanzamos la misma y creamos un nuevo proyecto desde el menú [Configuration // Create New].

4. La creación de un nuevo proyecto requiere una plantilla inicial, seleccionamos el archivo [C:\Program Files\Microsoft Team Foundation Server Integration Tools\Configurations\Subversion\Subversion_to_TFS.xml] para crear el nuevo proyecto. En este punto podremos ver el formulario de configuración del proceso de migración. Pera este ejemplo el nombre del proceso será [Subversion to TFS 2010 23]

image

 

5. Editamos la opción [Left Source] y en la misma configuramos los datos de acceso a nuestro repositorio de SubVersion. Para este ejemplo, utilizo el acceso por file system, pero puede realizarse por cualquiera de los protocolos que soporta SubVersion.

image

 

6. Configuramos el acceso al servidor Team Foundation Server 2010 en la sección [Right Source].

7. En este punto podemos acceder a paths específicos de ambos repositorios para identificar directorios a migrar.

image

 

7. Si bien la opción para la selección de subdirectorios funciona correctamente en el editor, me he encontrado problemas seleccionado subdirectorios en SubVersion al momento de migrarlos. Con la selección de carpetas de TFS 2010 no hay problema, funciona correctamente.

image

 

8. Guardamos la configuración [Save To Database]

9. Lanzamos el proceso de sincronización a través del menú [Current Migration // Start]. Dependiendo de la cantidad de elementos a migrar, este proceso puede tardar bastante (incluso días).

10. Una vez terminado podremos ver el proceso completo como muestra la siguiente imagen:

image

 

Cada una de las acciones realizadas se detalla en el gráfico historico que se muestra en la sección inferior. La siguiente imagen muestra el detalle de la 5ta revisión procesada, con la cantidad de archivos y comentario relacionados a la misma.

image

 

11. Si accedemos al histórico de algún elemento en el repositorio de subVersion podremos ver si histórico de la siguiente forma (gracias a TortoiseSvn)

image

 

Si analizamos la misma información en el histórico del Source Control de TFS2010, veremos que la información es la misma. Y a cada elemento del histórico se le ha agregado un sufijo especificando el origen desde un proceso de TFS Integration Platform.

image

En el próximo post, como actualizar los datos “en caliente” hacia Team Foundation Server 2010 cuando se ha seguido trabajando con SubVersion.

 

 

Saludos @ Home

El Bruno

   

[TFS2010] HowTo: Exportar el contenido completo de un repositorio de SubVersion a otro repositorio de Subversion

image47dd1de4

Buenas,

en este post no pienso hablar nada de Team Foundation Server 2010 o de Visual Studio 2010, pero me servirá como referencia para próximos posts sobre la utilización TFS Integration Platform. Asi que a lo que vamos …

El escenario que intento abarcar en este post se refiere a la necesidad de exportar el contenido completo de un repositorio de SubVersion a otro repositorio, incluyendo revisiones, histórico, etc. Para este ejemplo, trabajaré con uno de los clientes más populares de SubVersion: TortoiseSvn. Los siguientes pasos describen como realizar la exportación / sincronización.

Tutorial

1. Suponiendo que tenemos un repositorio de SubVersion creado en el directorio [C:\Demo\OldRepo], crearemos un nuevo repositorio en el directorio [C:\Demo\NewRepo]

2. Para esto, en Windows Explorer seleccionamos el directorio, desplegamos el menú contextual y seleccionamos la opción [TortoiseSVN // Create repository here]

image

Una vez creado podremos ver que dentro del mismo, se crea una estructura de carpetas propia de un repositorio de SubVersion.

 

3. Si queremos validar el contenido vación del repositorio, desplegamos nuevamente el menú contextual desde Windows Explorer y seleccionamos la opción [TortoiseSVN // Repo-browser]. En la url ponemos el acceso al repositorio recién creado, y veremos como el mismo está vacío.

image

 

4. Ahora comenzamos la sincronización utilizando el comando svnsync. Para realizar una sincronización, necesitamos ejecutar 2 pasos con este comando:

   1: CD "C:\Program Files\Subversion\bin"

   2: svnsync initialize "file:///C:/Demo/NewRepo" "file:///C:/Demo/OldRepo" 

   3: svnsync sync file:///C:/Demo/NewRepo

Pero sin embargo cuando realizamos esta acción, nos encontramos con el siguiente mensaje de error:

   1: Microsoft Windows [Version 6.0.6002]

   2: Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

   3:  

   4: C:\Users\Administrator>;CD "C:\Program Files\Subversion\bin"

   5:  

   6: C:\Program Files\Subversion\bin>;svnsync initialize "file:///C:/Demo/NewRepo" "fi

   7: le:///C:/Demo/OldRepo"

   8: svnsync: Repository has not been enabled to accept revision propchanges;

   9: ask the administrator to create a pre-revprop-change hook

  10:  

  11: C:\Program Files\Subversion\bin>

Esta información nos indica que debemos crear un hook para admitir los cambios en las revisiones en el repositorio.

 

5. Si vemos el contenido del directorio [C:\Demo\NewRepo\hooks] veremos que en el mismo existe el archivo pero con extension .tmpl. Esta extensión es un template que se utilza mayormente en UNIX. Para nuestro caso crearemos un nuevo archivo con el mismo nombre pero con extensión .bat y dentro delmismo agregaremos la siguiente línea:

   1: @exit 0

Por ejemplo:

image

 

6. Ahora si, ya podremos iniciar la sincronización. Cuando ejecutamos el primer comando veremos el siguiente mensaje:

   1: C:\Program Files\Subversion\bin>;svnsync initialize "file:///C:/Demo/NewRepo" "fi

   2: le:///C:/Demo/OldRepo"

   3: Copied properties for revision 0.

7. Cuando ejecutamos la sincronización, veremos como se mueven las revisiones al repositorio de destino:

   1: C:\Program Files\Subversion\bin>;svnsync sync "file:///C:/Demo/NewRepo"

   2: Transmitting file data ...........

   3: Committed revision 1.

   4: Copied properties for revision 1.

   5: Transmitting file data .

   6: Committed revision 2.

   7: Copied properties for revision 2.

   8: Transmitting file data .

   9: Committed revision 3.

  10: Copied properties for revision 3.

  11: Transmitting file data .

  12: Committed revision 4.

  13: Copied properties for revision 4.

  14: Transmitting file data ......

  15: Committed revision 5.

  16: Copied properties for revision 5.

  17: Transmitting file data ...

  18: Committed revision 6.

  19: Copied properties for revision 6.

  20: Transmitting file data ...

  21: Committed revision 7.

  22: Copied properties for revision 7.

  23: Transmitting file data ...

  24: Committed revision 8.

  25: Copied properties for revision 8.

  26:  

  27: C:\Program Files\Subversion\bin>

Este proceso puede tardar bastante de acuerdo a la cantidad de revisiones y tamaño de las mismas.

8. Una vez finalizado el proceso, si refrescamos el Repo-browser, podremos ver como se han sincronizado los contenidos al nuevo repositorio

image

 

Pues por ahora esto es todo. En próximos posts … porque esto es importante para TFS Integration Platform.

 

 

Saludos @ Home

El Bruno