powertools - Migración de la estantería de TFS de una rama a otra
powertools tfs (5)
Tengo que migrar el conjunto de estantes creado en una rama, diga "desarrollo" a otra, digamos "release". de modo que pueda fusionar directamente el conjunto de estantes y luego lanzar el que se creó para la rama de desarrollo.
el comando que he usado es:
tfpt unshelve "shelveset name" /migrate /source:"$...development" /target:"$...Release"
está mostrando este error:
incapaz de determinar el espacio de trabajo
Me encontré con el mismo problema hoy. Después de revisar los artículos a continuación, lo tengo funcionando:
- Tener solo un Powertools instalado.
- Ejecutar el comando desde un símbolo del sistema del desarrollador
- Ejecute el comando desde la carpeta que se asigna a su área de trabajo de destino.
Tuve que desinstalar v. 2010 por lo que solo quedaba v. 2012. Los números de versión no parecen hacer referencia a su versión TFS.
Para verificar si está en la carpeta correcta, puede ejecutar el espacio de trabajo tf.
En la ventana emergente, busque el área de trabajo que desea orientar y marque en la columna Carpeta local. Asegúrate de estar en esa carpeta.
Me encontré con el mismo problema que Boris Callens. Instalé TF Power Tools para VS2012 y VS2013. Al ejecutar el comando tfpt.exe en el comando promt, siempre tenía el mensaje de error " no se puede determinar el área de trabajo ". Esto se debe a que estaba usando las herramientas eléctricas VS 2012 con TFS 2013. Así que tuve que cambiar la Ruta a las herramientas eléctricas en la Variable de entorno del sistema " TFSPowerToolDir " para apuntar a las Herramientas eléctricas para VS2013.
Puede encontrar el número de versión ejecutando: tfpt.exe /? Versión de TF Power Tools
Pasé una buena cantidad de tiempo para hacer esto y tuve algunos problemas que superar y uno de ellos, de hecho, fue
incapaz de determinar el espacio de trabajo
Este problema en particular se resolvió ejecutando el comando desde la carpeta raíz de la rama de origen. Esto es contrario a algunas respuestas aquí y en SO en general donde dicen usar rama "objetivo" - no, usar "fuente":
cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"
El segundo número apareció después de esto. Parece que no pudo conectarse al servidor TFS. de lo que me di cuenta, tengo varios VS instalados y conectados a diferentes servidores TFS. Estaba usando VS12 y tenía espacio de trabajo y conexión al servidor. Pero no me di cuenta de que la misma conexión necesita ser replicada en VS13 para que TFPT2013 funcione. Se conecta al mismo servidor y espacio de trabajo.
También intenté hacerlo con TFPT2015, pero lo instalé y no instalé TFPT.exe, por lo tanto, fue inútil. Así que probé de TFPT2013 a TFS2015 y funcionó para este comando en particular. Me pregunto, ¿por qué no, si VS12 / 13 funciona bien contra TFS2015?
Para resumir
- Use CMD o DevCMD - no importa
- ejecutar desde la carpeta raíz de la fuente de origen
- verificar la conexión del servidor de Team Explorer
- TF Power Tools 2013 funciona contra TFS v15, al menos la opción de migración funciona
Su ubicación desde donde ejecuta el comando debe ser desde su área de trabajo. Por ejemplo, c:/workspaces/project/development
si ahí es donde se encuentra su fuente.
Supongo que su pregunta es: ¿Cómo puedo hacer el trabajo sin que se produzca este error? . En ese caso, asegúrese de que ambas sucursales estén asignadas a su sistema local y de que la última versión de su código fuente haya obtenido la última versión.
Eso debería evitar que ocurra el error, ya que ambas rutas contienen información sobre el espacio de trabajo utilizado para la asignación.