I have this script (bat file)
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
I get this error: Unable to determine the workspace., when I try execute tf get.
Console output is similar like:
Server: project02
Workspace: DESCOMP
Owner : MyUser
Computer : DESCOMP
Workspace: Team.descomp
Owner : MyUser
Computer : DESCOMP
...
Workspace: Team.descomp (MyUser)
Server : http://project02:8080/
$/Team: C:\Temp\Team2
...
Unable to determine the workspace.
Note, for $/Team (team project) has map in two machines: MyUser and Descomp
Workspace: Team Owner : MyUser Computer : MyUser
Workspace: Team.descomp Owner : MyUser Computer : DESCOMP
Any suggestions?
From Forums MSDN: Mr. Hofman
http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/82b13bfd-5fd7-45f7-a681-d84c9ea52765
Change the working folder for the tf get to a folder that is mapped by the workspace.
Execute the command from a folder where the workspace is mapped
(for example if you do it from console:
cd c:\sources\myteamproject
tf get ...
)
Key: Change the working folder for the tf get to a folder that is mapped by the workspace.
I use command pushd C:\Temp\Team2 in my script file.
Update: Comments by Ryan Cromwell
You can create and map a workspace in your script with the following. The second command works, because the first workspace is created in the 'blah' folder. The '.' in the second command is saying map '$/' to the current directory (blah). You could change that to be a named folder or subfolder if you choose.
Create a new workspace
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>
Map a path in that workspace
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>