2010-09-24 7 views
8

Cuando creo una rama desde la línea principal en TFS 2010, tengo que descargar todo el código que acabo de ramificar.Ramificación en TFS 2010 y verse obligado a volver a descargar el código

Ya tengo la versión mainline más reciente en mi computadora portátil, entonces ¿por qué TFS me exige que descargue de manera efectiva lo que ya está en mi disco duro?

Incluso si copio los archivos de la línea principal en una carpeta y mapeo la nueva rama en esta carpeta, todavía realiza un acceso completamente recursivo y ahoga nuestro ancho de banda durante 30 minutos más o menos.

Esto parece una pérdida de tiempo y de ancho de banda. ¿Es una solución/procedimiento de los que no tengo conocimiento?

Respuesta

9

Para una conmutación más rápida entre las ramas, pruebe la opción tf get /remap. Desde el blog de Brian Harry:

Ésta es una nueva opción en tf conseguir que está destinado a ser utilizado cuando se quiere cambiar su espacio de trabajo de una rama a otra en la misma base de código. Primero cambie la asignación del área de trabajo y luego emita un tf get/remap. Debido a que un gran porcentaje de los archivos en dos ramas relacionadas con son frecuentemente idénticos, este comando optimiza para eso. En lugar de descargar todo el contenido , solo descargará las cosas que son diferentes entre las dos ramas . Puedo reducir la obtención de un área de trabajo muy grande de 10 de minutos a unos segundos.

Tenga en cuenta que esto requiere TFS 2008 SP1 o posterior.

+0

este es exactamente el tipo de funcionalidad que esperaba encontrar. Muy parecido al comando de cambio SVN. ¡Gracias! – Baldy

+0

Impresionante, esto me ahorró 1.5 Gb de ancho de banda cada vez que hice una sucursal. Yo también estaba buscando un SVN switch alternativo. Las sucursales deben poder tirar los artículos que son fáciles de usar. ¡Me sorprende que esto no esté incorporado en la GUI! – toxaq

0

El motivo es que TFS no sabe que tiene la rama descargada. El acto de "obtener" realmente pone un registro en la base de datos TFS que indica qué versión del código tiene en su espacio de trabajo. De esa forma, sabe si tienes lo último o no.

Me sorprende que un "obtener" demore más de 30 minutos. ¿Tu servidor TFS es remoto? ¿Obtienes más binarios de los que necesitas? Si tiene un servidor remoto, puede considerar usar el proxy TFS para ayudar con el rendimiento. Aunque no resolverá este problema en particular que tienes, puede acelerar las cosas para otros desarrolladores.

Una última pregunta: ¿por qué estás ramificando tanto? Aunque entiendo la idea de la función de bifurcación, y que aumenta el número de veces que tendrá que bifurcar, todavía debería ser una ocurrencia relativamente poco frecuente. Y si es raro, entonces, sí, los treinta minutos de descarga pueden ser molestos, pero tendrá que preguntarse si realmente es un problema.

+0

Si nuestro servidor TFS es remota, y la solución contiene muchos proyectos, algunos lotes que contienen de los medios de comunicación, etc. Por lo tanto las descargas lengthly en las horas punta del día. No estoy ramificando "tanto", solo cuando las características y las complejidades de los diferentes requisitos del cliente lo exigen. A veces, esto es tan poco como dos veces al mes, a veces mucho más. De cualquier manera, no deberías tener que descargar todo un conjunto de algo que ya tienes en tu máquina, que es lo que SVN hace con el comando de cambio. Afortunadamente TFS ha reasignado como se destaca a continuación :-) – Baldy

+0

the/remap es una gran idea.No habíamos necesitado hacer eso todavía, pero es bueno ponerlo en mi kit de herramientas. – Robaticus

+0

"¿por qué estás ramificando tanto? ... ... todavía debería ser una ocurrencia relativamente infrecuente". No estoy de acuerdo con esta afirmación. Debería poder hacer girar una rama, probar e idear y probar que funciona muy fácilmente. No espero que mi sistema de control de versiones me dicte cómo debo desarrollar el código. Prueba git o subversion, lo hacen trivial y estoy muy contento de haber encontrado la funcionalidad de reasignación de TFS aquí. – toxaq

Cuestiones relacionadas