Visual Source Safe -> Migración TFS

Por aquí hemos estado trabajando con un montón de repositorys de Visual Source Safe durante aproximadamente 10 años más o less.

Ahora quiero deshacerme de sourcesafe y pasar al Team Foundation Server.

¿Tiene algún consejo o trucos para mí antes de embarcarme en esta migration? ¿De qué tengo que tener cuidado?

Estoy seguro de que esta migration significará que nuestros hábitos de trabajo tendrán que modificarse de alguna manera. ¿Crees que estos cambios podrían ser un problema para la organización? Piense en un grupo de aproximadamente 20 desarrolladores .NET en un solo sitio.

Acabo de search en Google, pero este tutorial parece una buena reference, y menciona la herramienta VSSConverter que debería ayudarlo a hacer la migration lo less dolorosa posible.

Sin embargo, me gustaría recomendarle una cosa: Copia de security. Respalda todo antes de hacer esto. Si algo sale mal, es mejor estar seguro que lamentar.

Mis enlaces no se muestran. Esta es la dirección: http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx

Hay algunas forms diferentes de migrar. La herramienta eliminará tu historial, etc., pero la forma más simple y pragmática es bloquear VSS como un file histórico y comenzar de nuevo:

  1. Haga que todos revisen todos los cambios en VSS, se aseguren de que todo se desarrolle, etc.
  2. Configure todas las bases de datos de VSS como "bloqueadas" (derechos de solo lectura para todos los usuarios)
  3. Obtenga lo último en toda la database VSS en un set "limpio" de carpetas en una estación de trabajo
  4. Verifique todos los files en TFS desde la estación de trabajo

Para cualquier historial previo a la conversión, la gente necesita ir a VSS, pero después de una semana o dos es muy poco probable que suceda con tanta frecuencia. Y sabe que el historial en VSS es preciso y no está dañado por el process de conversión.

Tenga en count que TFS no admite compartir files entre diferentes proyectos, como lo hace VSS. Si tiene alguno de esos files compartidos, el vínculo entre ellos se romperá durante la migration, lo que resultará en files inicialmente idénticos, pero ahora distintos en cada proyecto. Las actualizaciones de uno de estos files en TFS ya no se propagarán a las copys en los otros proyectos.

Si opta por utilizar la herramienta VSSConverter.exe que se envía con Visual Studio Team Foundation Server, entonces debe instalar TFS 2008 SP1 primero, ya que incluye una serie de mejoras detalladas en este blog por el equipo de herramientas de migration .

Algunas de las características key de la versión incluyen:

Eliminación de conflictos de espacio de nombres . Anteriormente publiqué sobre esto como "el problema de cambiar el nombre" y hemos corregido el convertidor para migrar correctamente los files con espacios de nombres superpuestos. Este fue el mayor punto de dolor para la mayoría de los usuarios que intentaban usar versiones anteriores de la herramienta.

Reenlace de solución automática. En esta última versión, los files de la solución VS se actualizarán automáticamente a la versión 9.0 y se volverán a controlar con la versión. Anteriormente, los usuarios debían hacer esto manualmente.

Corrección de inconsistencias de timestamp . El uso de marcas de time del cliente por parte de VSS puede llevar a que las revisiones se registren en el order opuesto en el que realmente ocurrieron. La herramienta ahora reconoce este problema y continúa migrando los cambios donde anteriormente fallaría.

Tala mejorada . Si bien hemos solucionado muchos problemas, proporcionar un logging mejor y más detallado ayudará a los usuarios que se encuentran con problemas a diagnosticar los problemas.

Actualmente estamos en el process de hacer esto en mi trabajo diario. En realidad estamos haciendo el cambio en aproximadamente un mes. Soy parte principal de la migration y una gran parte de por qué nos estamos saliendo de SourceSafe. Para ayudar en la migration, utilicé Visual Studio® Team System 2008 Team Foundation Server y Team Suite VPC Image . Fue muy útil. Desde el principio, la image contiene una installation TFS completa para que juegues y demuestres con ella. También incluye Hands on Labs y uno de los laboratorios ejecuta la herramienta de migration VSS -> TFS. Si tiene una suscripción a MSDN, una vez que haya jugado con la image, el siguiente paso sería instalar la edición TFS Small Team que viene con su suscripción.

Una cosa a tener en count es asegurarse de get los Service Pack más recientes para Visual Studio 2008 y .NET Framework instalado en la image. Los service packs arreglaron algunos errores molestos y definitivamente booston la usabilidad del sistema. Tenemos una database SourceSafe escasamente grande con más de 90 proyectos y la herramienta de migration tardó aproximadamente 32 horas en completarse. Primero hice una copy de security de nuestra database de sourcessafe para probar. Luego realicé la migration en la database de testing de sourcesafe. Después, revisé el tree de fonts en TFS y todo se transfirió bien. Mantuvimos todo el historial de nuestros files fuente de VSS, que fue genial. No hay necesidad de mantener esa apestosa database VSS después de que entremos en funcionamiento.

Estamos tomando la migration en pasos. Primero, el control de fuente y dejar que nuestros desarrolladores se acostumbren a usarlo. Luego, migraremos el QA y los analists de negocios para usar las funciones de seguimiento del ítem de trabajo.

Mi consejo es llevar la migration en pasos. No hagas demasiado al mismo time. Dé time a las personas que usarán el sistema para entrenar.

VSS Converter es una solución lejos de ser perfecta. Y existen diferencias significativas entre la versión 2005SP1 del convertidor.

Por ejemplo, en un VSS DB que ha estado en uso durante mucho time, habrá una gran cantidad de usuarios contribuyendo a VSS. Muchos de estos usuarios habrán abandonado la organización hace mucho time y, por lo tanto, ya no tendrán counts de dominio. TFS requiere asignar usuarios de VSS a counts de dominio, por lo que deberá decidir si asigna usuarios antiguos a una única count de dominio "ficticia" o a un miembro del equipo actual.

Además, VSS Converter 2008 requiere que estas counts de dominio sean counts TFS válidas. Mientras que el convertidor de 2005 no hace cumplir esto.

Si su historial de VSS contiene movimientos significativos de la carpeta, entonces es probable que pierda todo el historial antes de este movimiento. Por ejemplo, si mueve una carpeta a una nueva location y luego elimina la matriz anterior, perderá todo el historial. Consulte este artículo para get más información: http://msdn.microsoft.com/en-us/library/ms253166.aspx

En una migration en la que participé, teníamos una database de VSS de 10 años que perdió toda la historia anterior a hace 6 meses. Esto se debió a una importante limpieza que tuvo lugar hace 6 meses.

Herramienta de conversión TFS <- Usar esto

Ya he usado esta herramienta algunas veces, los resultados son bastante satisfactorios, ya que viene con la historia de los sets de cambios de SourceSafe, si así lo deseas.

De todas forms, al usar esta herramienta siempre debes prestar atención a los errores y advertencias en el logging, y verificar si todo lo construido está bien / aprobado.

Se recomienda también ejecutar un Análisis en SS antes de ejecutar esto.

Espero eso ayude

Buena guía de mi antiguo compañero Guy Starbuck. Otra cosa que debe agregarse con ese enfoque: es posible que haya decidido con el time que desea refactorizar la forma en que se organiza su aplicación (carpetas, etc.) y esto le dará la oportunidad de hacerlo.

He estado en situaciones en las que organizamos una solución random sin pensar (y mucho less cambios importantes en la aplicación) que nos llevó a desear organizar las cosas de manera diferente, y el cambio de VSS a TFS es una gran oportunidad para hacerlo.

En cuanto a la pregunta original:

Y: esta migration seguramente significará que nuestros hábitos de trabajo deben ser modificados de alguna manera. ¿Crees que estos cambios podrían ser un problema para la organización? Piensa en un grupo de aproximadamente 20 desarrolladores de .net, en un solo sitio

Yo diría que sí, sus hábitos de trabajo cambiarán, pero mucho más para mejor.

  1. No debe usar lockings "Check-out" y "Get-Latest on Check-out".
  2. Ahora puede eficazmente Branch y Merge
  3. Ahora tendrá "sets de cambios", todos los files registrados al mismo time se agruparán. Esto hace que el seguimiento de cambios históricos sea mucho más fácil, pero lo más importante es que las reversiones son mucho más fáciles (es decir, encontrar todos los files registrados al mismo time y volverlos a unir)
  4. Asociar loggings para trabajar elementos. ¡No pase por alto los artículos de trabajo! El mayor error que puede cometer es usar solo TFS como reemploop de VSS. Las funciones de compilation y gestión de proyectos son excelentes; pagaste por ellas. ¡ÚSALAS!

En cuanto a los detalles sobre cómo cambiará su experiencia, otro ex colega mío (y MVP del Equipo) Steve St. Jean escribió un artículo detallado sobre las diferencias: de VSS a TFS