J'ai ce script (fichier 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
Je reçois cette erreur: Impossible de déterminer l'espace de travail., Lorsque j'essaie d'exécuter TF get.
La sortie de la console est similaire à celle-ci:
Serveur: Project02
Espace de travail: Descompan
Propriétaire: Myuser
Ordinateur: Descompanp
Espace de travail: Team.descompomp
Propriétaire: Myuser
Ordinateur: Descompanp
...
Espace de travail: Team.DesComp (Myuser)
Serveur: http: // projet02: 8080 /
$/Équipe: c:\temp\équipe2
...
Impossible de déterminer l'espace de travail.
Note, pour $/équipe (projet d'équipe) a une carte dans deux machines: Myuser et Descompan
Espace de travail: propriétaire de l'équipe: ordinateur Myuser: Myuser
Espace de travail: TEAM.DESCOMP propriétaire: Myuser Computer: Desompomp
Aucune suggestion?
De Forums MSDN: M. Hofman
http://social.msdn.microsoft.com/forums/fr/tfsbuild/thread/82b13bfd-5fd7-45f7-A681-D84C99A52765
Modifiez le dossier de travail pour le TF Accéder à un dossier mappé par l'espace de travail.
Exécuter la commande à partir d'un dossier où l'espace de travail est mappé
(Par exemple, si vous le faites de la console:
cd c:\sources\myteamproject
tf get ...
)
Touche: Modifiez le dossier de travail de la TF Accéder à un dossier mappé par l'espace de travail.
J'utilise la commande Pousse C:\Temp\Team2 Dans mon fichier de script.
Mise à jour : Commentaires de Ryan Cromwell
Vous pouvez créer et mapper un espace de travail dans votre script avec ce qui suit. La deuxième commande fonctionne, car le premier espace de travail est créé dans le dossier 'bla'. Les '.' Dans la deuxième commande indique la carte '$ /' vers le répertoire actuel (BLAH). Vous pouvez modifier cela pour être un dossier ou un sous-dossier nommé si vous le souhaitez.
Créer un nouvel espace de travail
[.____] C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<Host>:<port>/tfs/<collection> /login:<username>,<pwd>
Portez un chemin dans cet espace de travail
[.____] C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>
Cela étend @kiquenet Réponse. Cela n'a pas été facile à faire dans les commentaires :(
Vous pouvez créer et mapper un espace de travail dans votre script avec ce qui suit. La deuxième commande fonctionne, car le premier espace de travail est créé dans le dossier 'bla'. Les '.' Dans la deuxième commande indique la carte '$ /' vers le répertoire actuel (BLAH). Vous pouvez modifier cela pour être un dossier ou un sous-dossier nommé si vous le souhaitez.
Créez un nouvel espace de travail
[.____] C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<Host>:<port>/tfs/<collection> /login:<username>,<pwd>
cartographier un chemin dans cet espace de travail
[.____] C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>
J'ai eu ce problème dans la ville d'équipe exécutant un fichier PS1 avec ce qui suit:
tf resolve FND.sql /auto:KeepYours
tf checkout FND.sql /noprompt
tf checkin FND.sql /noprompt
lorsque je l'exécutions dans une fenêtre PS, cela fonctionnait bien, mais lorsqu'il est exécuté par Team City, j'ai eu la réponse suivante pour chaque appel TF:
Unable to determine the workspace. ...
Essayer d'obtenir plus d'informations sur ce qui se passait, j'ai inséré la déclaration suivante avant le 1er appel TF:
tf workfold
lorsque j'ai couru l'équipe de l'équipe la prochaine fois, le travail de TF a montré la cartographie qui n'était pas reconnue auparavant, et les commandes TF existantes ont commencé à travailler.
Cela a toujours fonctionné lorsque j'ai sorti la commande TF Workfold.
Je ne comprends pas, mais peut-être que cela fonctionnera pour d'autres personnes avec ce problème.
J'avais déjà essayé plusieurs recommandations de ceci et d'autres sites Web sans succès.
J'espère que cela aide quelqu'un.