web-dev-qa-db-fra.com

Comment supprimer un mappage d'espace de travail TFS?

J'avais un projet dans tfs au sein d'un projet d'équipe, puis nous avons déplacé le projet vers un emplacement différent dans un autre projet d'équipe.

J'avais configuré Jenkins pour se connecter au projet d'équipe et construire ma solution, mais lorsque j'ai modifié les paramètres pour se connecter au nouveau projet d'équipe tfs, l'erreur suivante est générée:

[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].

Donc, ce qui précède montre qu'il existe un espace de travail existant et j'ai donc exécuté la commande ci-dessous pour le supprimer.

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject

et cela m'a amené à dire que l'espace de travail avait été supprimé, mais je reçois toujours la même erreur.

J'ai également vérifié si le mappage avait été supprimé ou non en exécutant la commande ci-dessous:

tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

mais cela indique que l'espace de travail n'existe pas comme prévu.

Alors, j'ai pensé qu'il pourrait être en cache quelque part et a exécuté la commande ci-dessous:

tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject

et il a indiqué "Aucun espace de travail dans le cache ne correspond à * à partir du serveur http://domain-eg.net:8080/tfs/oldteamproject "

donc je suppose que ce n'est même pas mis en cache.

Alors, qu'est-ce qui cause l'erreur et comment le résoudre?

121
The Light

De VS:

  1. Ouvrir Team Explorer
  2. Cliquez sur Explorateur de contrôle de source
  3. Dans la barre de navigation de la fenêtre d’outil se trouve un menu déroulant intitulé "Espaces de travail". 
  4. Étendez-le et cliquez sur l'option "Espaces de travail ..." (oui, un peu peu intuitive)
  5. La fenêtre "Gérer les espaces de travail" apparaît. Cliquez sur Modifier pour ajouter/supprimer/modifier votre espace de travail.

source control Explorer

À partir de VS sur une autre machine

Vous n'avez pas besoin de VS pour être sur le même ordinateur que l'enrôlement, vous pouvez éditer des enlistments à distance! Dans la boîte de dialogue qui apparaît lorsque vous appuyez sur l'élément "Espaces de travail ...", une case à cocher indiquant "Afficher les espaces de travail distants" est cochée. Cochez-la et vous obtiendrez une liste de toutes vos inscriptions:

show remote workspaces

À partir de la ligne de commande

Appelez "tf workspace" à partir d'une invite de commande du développeur. Il fera apparaître les "Gérer les espaces de travail" directement! 

178
Bogdan Gavril MSFT

J'ai rencontré le même problème et j'ai pu le résoudre en supprimant manuellement tous les fichiers du cache TFS, situés ici:

%LocalAppData%\Microsoft\Team Foundation\3.0\Cache

ou 4.0, 5.0, etc.

115
brainiac10

Suivez ces étapes pour supprimer le mappage de TFS:

  1. Ouvrez team Explorer
  2. Cliquez sur Source Control
  3. Faites un clic droit sur vous project
  4. Cliquez sur Remove Mapping 
19
Ken Clark

L'erreur est authentique. Vous avez peut-être créé un espace de travail avec le même nom sur une autre machine. Maintenant, vous avez peut-être changé de machine avec un nom de machine différent.

Il existe donc des solutions qui fonctionnent. Les procédures suivantes sont des solutions.

  1. Allez dans "Team-Explorer"
  2. Allez dans "Contrôle de la source"
  3. Aller au menu déroulant
  4. Cliquez sur "Espaces de travail ..." 
  5. Une fenêtre pop-up apparaîtra
  6. Cliquez sur "Afficher les espaces de travail distants"
  7. Supprimez maintenant l’espace de travail en conflit et vous pourrez poursuivre votre travail.
11
smthakur19

Veuillez suivre les étapes ci-dessous:

Ctrl + Run 

Copier et Passé

%LocalAppData%\Microsoft\Team Foundation

Vous obtiendrez une version différente de TFS, par exemple, __.  enter image description here

Cliquez sur chaque dossier et vous obtiendrez 

 enter image description here

Maintenant, supprimez toutes les données de ce dossier.

Rouvrez le studio visuel.

Merci.

5
Satish Singh

J'ai réussi à supprimer le mappage à l'aide de la commande/newowner, comme suggéré ici:

Comment puis-je retrouver l'accès à mon espace de travail Team Foundation Server?

La commande a ouvert une fenêtre Edit Workspace dans laquelle j'ai supprimé le mappage. Ensuite, j'ai supprimé l'espace de travail dont je n'avais pas besoin.

3
Alex Kamburov

Mise à jour 2019-01-23

Si vous obtenez à plusieurs reprises l’erreur suivante The workspace wkspaceEg does not exist… même après avoir utilisé le nom d’utilisateur correct (wkspcOwnerDomain\wkspcOwnerUsername) dans la commande tf workspace, par exemple,

tf workspace "wkspaceEg;wkspcOwnerDomain\wkspcOwnerUsername" /collection:http://tfs.example.com:8080/tfs/collectionEg /login:TFSUsername,TFSPassword

alors la commande tf workfold peut aider à résoudre ce problème. Voir cette question .

Si même cela ne fonctionne pas et que vous ne pouvez pas/ne souhaitez pas utiliser TFS Sidekicks , passez à l’option risquée de dernier recours ci-dessous.


J'utilise TFS 2012. J'ai essayé tout ce qui était suggéré en ligne: dossier de cache supprimé, liste déroulante des espaces de travail, espaces de travail tf/remove: *, informations d'identification effacées du Panneau de configuration, IE, etc.

Rien n'a fonctionné, je pense que mon espace de travail a été corrompu d'une manière ou d'une autre. Enfin, je suis allé à la base de données TFS et ai exécuté les requêtes suivantes. Ça a marché! Bien sûr, soyez très prudent lorsque vous manipulez la base de données, effectuez des sauvegardes, etc.

La base de données s'appelle Tfs_<<your_TFS_collection_name>>. Ignorez la base de données Tfs_Configuration MSSQL. Je ne suis pas sûr, mais si vous n'avez pas de base de données Tfs_<<your_TFS_collection_name>>, les paramètres peuvent être dans la base de données Tfs_DefaultCollection. Le mappage est stocké dans tbl_WorkingFolder.LocalItem.

/*Find correct workspace*/
SELECT WorkspaceId, *
FROM tbl_Workspace
ORDER BY WorkspaceName

/*View the existing mapping*/
SELECT LocalItem, *
FROM tbl_WorkingFolder
WHERE WorkspaceId = <<WorkspaceId from above>>

/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy.00\TFS\Source\Workspaces\teamProjEg' WHERE
/*LocalItem = NULL might work too but I haven't tried it*/
WorkspaceId = <<WorkspaceId from above>>
3
Dennis T

Aucune des réponses ici enlevé mes espaces de travail. Mais voici une solution qui peut fonctionner pour vous.

  1. Ouvrir une invite de commande Visual Studio
  2. Fermez Visual Studio en premier ou la commande delete ne peut pas supprimer l'espace de travail.
  3. Lister les commandes de l'espace de travail -> tf /? pour rechercher les commandes disponibles dans la version de TFS.
  4. Lister les espaces de travail -> tf workspaces
  5. Supprimer l'espace de travail -> espace de travail tf YourWorkspace/delete
2
Chris Cuciak

Enfin supprimé TOUS les espaces de travail et recommencer à zéro. Fixé.

1
smirkingman

On m'a demandé de me connecter à notre serveur TFS via Visual Studio. J'ai donc utilisé mon compte SU, qui est généralement requis pour l'accès au serveur. Cela a posé quelques problèmes et j'ai fini par mapper vers un dossier différent, ne réalisant pas que je venais de dupliquer tout mon contenu. À un moment donné, Visual Studio est revenu à mon utilisateur habituel, j'ai "perdu" les modifications en attente et j'ai remarqué que de nouvelles modifications en attente étaient placées dans mon ancien mappage. 

Lorsque j'essayais de reconfigurer le nouvel emplacement (auquel le compte du SU était lié) pour tenter de récupérer les modifications en attente, cela me disait qu'il était déjà mappé sur le SU et je ne pouvais pas le faire, mais aucun moyen d'enlever la carte! Afficher les espaces de travail distants, en supprimant tous les espaces de travail via une ligne de commande, etc. n'a rien révélé. Je me suis alors dit "que se passe-t-il si, en fait, il est lié au compte d'utilisateur du SU sur mon ordinateur , pas au domaine." Je me suis connecté en tant que SU localement et, bien entendu, il existait un espace de travail entièrement configuré pour cet utilisateur. J'ai supprimé le mappage et j'ai pu retourner chez mon utilisateur habituel et le remapper sans problème.

Morale de l'histoire, peut-être qu'un autre utilisateur est connecté sur la même machine, qui n'est pas visible de l'utilisateur actuellement connecté. Vous ne pouvez donc pas supprimer ou même voir les mappages.

1
Tyler StandishMan

Il n'est pas nécessaire de supprimer tout le dossier du cache. vous perdez tous les paramètres/préférences Les mappages d’espace de travail sont stockés dans un fichier appelé: 

VersionControl.config sous le répertoire des paramètres locaux de l'utilisateur/données de l'application. situé ici dans windows 7:

% LocalAppData%\Microsoft\Team Foundation\x.0\Cache\Volatile

où x = 3.0,4.0, 5.0,6.0 etc.

À l'intérieur de celui-ci, vous trouverez des dossiers nommés guid, ouvrez chacun d'eux, éditez manuellement le fichier susmentionné, pour supprimer le mappage de l'espace de travail (le chemin du répertoire sera présent dans l'attribut mappedpaths) de ce dossier local vers le serveur TFS (qui est n'est plus utilisé). 

1
Sundara Prabu

Fichier -> Contrôle de la source -> Avancé -> Espaces de travail -> Choisissez l’espace de travail dans Gérer les espaces de travail et cliquez sur "Modifier". Vous pouvez ensuite modifier le dossier local.

0
Ahmed elshiekh

Voici les étapes à suivre pour supprimer le mappage d'un projet de TFS:

(1) Cliquez sur le bouton Voir.

(2) Ouvrez Team Explorer

(3) Cliquez sur Contrôle de la source

(4) Faites un clic droit sur votre projet/répertoire

(5) Cliquez sur Remove Mapping

(6) Enfin, supprimez le répertoire local du formulaire Projet.

0
FARHAN KHAN

Vous pouvez également supprimer un mappage tfs en modifiant simplement votre fichier .sln et en supprimant l'élément GlobalSection pour la liaison tfs.

0
CalCof

Merci de votre aide!

Trouver un espace de travail problématique SELECT * FROM tbl_Workspace WHERE WorkspaceName comme "% xxxxx%"

Trouver l'espace de travail souhaité SELECT * FROM tbl_Workspace WHERE WorkspaceName comme '% zzzzz%'

Sélectionnez Modifier le top 200 tbl_WorkingFolder puis recherchez le mappage du problème SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId en haut

Remplacez WorkspaceId par le WorkspaceId souhaité

Enfin, allez dans l'Explorateur de projets et sélectionnez Supprimer le mappage dans le projet

Modifier VB6 MSSCCPRJ.SCC pour qu'il corresponde à l'espace de travail souhaité

0
vmaynard

Exécutez tf workspaces pour afficher les mappages actuels des espaces de travail. La sortie ressemble à:

 enter image description here

Puis lancez tf workspace /delete "{workspace};{user}

En utilisant la sortie ci-dessus, pour supprimer un espace de travail bi: 

tf workspace /delete bi;James Wierzba

0
James Wierzba

Toutes les réponses ici semblent être des réponses partielles qui ne fonctionnent pas dans tous les cas. Je pense que cette réponse fonctionnera dans tous les cas, à condition que vous disposiez des autorisations appropriées.

  1. Ouvrez l'invite de commande du développeur. Dans mon cas, je l'ai testé avec l'invite de commande du développeur pour VS 2019.
  2. Tapez cette commande: tf workspaces

Notez que les résultats peuvent lister quelques tables avec une structure identique. Si vous ne voyez qu'une table, certaines des hypothèses des autres réponses peuvent vous convenir. Cependant, si vous voyez deux ou plusieurs tables, la chaîne Collection est importante! Pour nos exemples, nous allons supposer que vous avez deux collections (deux n’est pas différent de quatre autres que l’un est plus fastidieux que l’autre pour le parcourir):

https://dev.Azure.com/foo et https://bar.visualstudio.com/

Avec un peu de chance, vous saurez avec lequel de ces deux projets vous souhaitez travailler. Toutefois, si vous avez besoin de les parcourir tous, il vous suffira de faire cette collecte à la fois. Chaque "collection" est identique à une "organisation" dans Azure DevOps (je pense).

Si vous n'utilisez pas ce détail de la collection, un message d'erreur peut s'afficher:

Impossible de déterminer le serveur de contrôle de source.

  1. Ensuite, tapez cette commande pour la collection que vous souhaitez utiliser:

tf workspaces /computer:* /owner:* /collection:https://dev.Azure.com/foo

Cela vous donnera une image beaucoup plus complète de ce que vous avez à faire. Cela devient particulièrement désagréable si plusieurs comptes de MSA et d’organisation ont touché ce dépôt à partir du même ordinateur. En fait, vous pouvez avoir plusieurs entrées apparemment identiques. Si vous essayez de les supprimer en fonction de vos connaissances actuelles, cela risque de ne pas fonctionner. Mais nous pouvons obtenir plus d'informations.

  1. Ensuite, nous allons exécuter la même commande mais ajouter /format:xml à la fin de celle-ci:

tf workspaces /computer:* /owner:* /collection:https://dev.Azure.com/foo /format:xml

Cela vous donne maintenant un tas de XML avec quelques propriétés supplémentaires. Ceux qui nous intéressent probablement le plus sont les alias de propriétaire. Ce sont les informations manquantes que vous devez maintenant parcourir et supprimer ces espaces de travail. Sans ces informations supplémentaires, il est facile de se heurter à un mur et d’être bloqué par un message d’erreur:

Spécifiez un espace de travail.

  1. Maintenant, nous avons toutes les informations dont nous avons besoin. Étant donné les entrées additionnelles OwernAliases, sélectionnez l’entrée unique (ou répétez-la si vous en avez plusieurs) que vous souhaitez supprimer et utilisez cette commande suivante (quelques exemples sont répertoriés):

    • tf workspace /delete /collection:https://dev.Azure.com/foo "MyWorkspaceName;Windows Live ID\[email protected]"
    • tf workspace /delete /collection:https://dev.Azure.com/foo "MyWorkspaceName;John Doe"
    • tf workspace /delete /collection https://dev.Azure.com/foo "MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\[email protected]"

Le GUID identifie un répertoire AAD et les guillemets permettent de gérer les espaces éventuellement présents dans un alias. Le "MyWorkspaceName" provient de vos requêtes précédentes listant les espaces de travail.


Sans cette approche très approfondie, il est possible que toutes les autres réponses à cette question échouent pour vous. Certains de ces efforts effaceront les espaces de travail locaux, mais pas les espaces de travail du serveur, avec lesquels vous pouvez toujours entrer en conflit. De plus, si vous avez déjà utilisé un compte différent, les choses peuvent devenir difficiles, comme si vous passiez d'un compte MSA à un compte AAD. Et les choses deviennent VRAIMENT poilues si vous avez un compte MSA et plusieurs comptes AAD, tous avec la même adresse e-mail que vous avez utilisée depuis le même poste de travail. Et puis ça devient super fou quand plusieurs personnes utilisent le nom par défaut de l’espace de travail: le nom d’hôte de votre ordinateur. Dans mon cas, j'avais quatre espaces de travail avec tous le même nom d'espace, le nom du propriétaire et le nom de l'ordinateur (c'est-à-dire que la première requête sans formatage XML comportait 4 enregistrements identiques!).


Je ne sais pas s’il existe un moyen plus graphique de gérer cela. J'ai regardé et pas encore trouvé un meilleur moyen que cela.

0
Jaxidian

Si les indices mentionnés ne vous aident pas, téléchargez Team Foundation Sidekick et utilisez-le pour supprimer les espaces de travail.

0
Mr. N. Das

Tout d’abord, téléchargez et installez le plug-in Team Explorer sur votre système, puis accédez à Source Control Explorer. Dans le volet de navigation, recherchez le champ Espace de travail et cliquez sur l'option Espaces de travail. Après avoir cliqué sur l'option Espaces de travail, vous verrez tous les espaces de travail mappés. Cliquez sur le bouton Supprimer et supprimez le mappage des espaces de travail requis. 

0
Arpit Raizada