scripting tfs team-build workspace

scripting - No se puede determinar el espacio de trabajo utilizando TF.exe



tfs team-build (3)

De los foros MSDN: Sr. Hofman

http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/82b13bfd-5fd7-45f7-a681-d84c9ea52765

Cambie la carpeta de trabajo de tf get a una carpeta asignada por el área de trabajo.

Ejecute el comando desde una carpeta donde se asigna el área de trabajo

(Por ejemplo si lo haces desde consola:

cd c:/sources/myteamproject tf get ...

)

Clave: cambie la carpeta de trabajo de tf get a una carpeta asignada por el área de trabajo.

Uso el comando pushd C: / Temp / Team2 en mi archivo de script.

Actualización : Comentarios de Ryan Cromwell

Puede crear y asignar un espacio de trabajo en su script con lo siguiente. El segundo comando funciona, porque el primer espacio de trabajo se crea en la carpeta ''blah''. Los ''.'' en el segundo comando está diciendo el mapa ''$ /'' al directorio actual (blah). Puede cambiarlo para que sea una carpeta o subcarpeta con nombre si lo desea.

Crear un nuevo espacio de trabajo
C:/projects/blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

Mapear una ruta en ese espacio de trabajo
C:/projects/blah>tf workfold /map $/ . /login:<username>,<pwd>

Tengo este script (archivo bat)

tf workspaces /s:http://project02:8080 tf workspace /s:http://project02:8080 Team.descomp;MyDomain/Myuser tf workfold /workspace:Team.descomp tf get $/Team/Main/Projects /recursive /force /noprompt

Recibo este error: No se puede determinar el área de trabajo., Cuando intento ejecutar tf get.

La salida de la consola es similar a la siguiente:

Servidor: proyecto02

Espacio de trabajo: DESCOMP

Propietario: MyUser

Computadora: DESCOMP

Espacio de trabajo: Team.descomp

Propietario: MyUser

Computadora: DESCOMP

...

Espacio de trabajo: Team.descomp (MyUser)

Servidor: http://project02:8080/

$ / Equipo: C: / Temp / Team2

...

No se puede determinar el espacio de trabajo.

Nota, por $ / Equipo (proyecto de equipo) tiene un mapa en dos máquinas: MyUser y Descomp

Área de trabajo: Propietario del equipo: Computadora MyUser: MyUser

Espacio de trabajo: Team.descomp Propietario: MiUser Computadora: DESCOMP

¿Alguna sugerencia?


Esto extiende la respuesta de @Kiquenet. No fue fácil hacerlo en los comentarios :(

Puede crear y asignar un espacio de trabajo en su script con lo siguiente. El segundo comando funciona, porque el primer espacio de trabajo se crea en la carpeta ''blah''. Los ''.'' en el segundo comando está diciendo el mapa ''$ /'' al directorio actual (blah). Puede cambiarlo para que sea una carpeta o subcarpeta con nombre si lo desea.

Crear un nuevo espacio de trabajo
C:/projects/blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

Mapear una ruta en ese espacio de trabajo
C:/projects/blah>tf workfold /map $/ . /login:<username>,<pwd>


Tuve este problema en Team City ejecutando un archivo ps1 con lo siguiente:

tf resolve FND.sql /auto:KeepYours tf checkout FND.sql /noprompt tf checkin FND.sql /noprompt

cuando lo ejecuté en una ventana de PS, funcionó bien, pero cuando fue ejecutado por Team City, obtuve la siguiente respuesta para cada llamada tf:

Unable to determine the workspace. ...

Intentando obtener más información sobre lo que estaba pasando, inserté la siguiente declaración antes de la primera llamada a la tf:

tf workfold

cuando ejecuté Team City la próxima vez, la carpeta de trabajo tf mostró el mapeo que no se reconoció previamente, y los comandos tf existentes comenzaron a funcionar.

Todavía funcionó cuando saqué el comando tf workflold.

No lo entiendo, pero quizás esto funcione para otras personas con este problema.

Anteriormente había intentado varias recomendaciones de este y otros sitios web sin éxito.

Espero que esto ayude a alguien.