Comment annuler le paiement d'un autre utilisateur dans TFS?

95

En tant qu'administrateur TFS résident, on me demande parfois d'annuler une extraction (généralement un verrou) qu'un utilisateur a sur un certain fichier archivé dans le contrôle de code source.

Comment annuler le paiement d'un autre utilisateur?

brett rogers
la source

Réponses:

144

Il existe au moins 2 façons différentes de procéder:

Ligne de commande

Il existe un utilitaire de ligne de commande appelé Tf.exe fourni avec Team Explorer. Trouvez la documentation ici . Il est accessible en lançant une fenêtre d'invite de commandes Visual Studio. La syntaxe de la commande est:

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

Pour un fichier

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

GUI

La seconde est via l'interface graphique, mais n'est pas fournie en standard - vous devez installer les outils électriques TFS . Voir ici pour plus de détails sur l'utilisation de cette méthode.

Gardez à l'esprit qu'avec l'une ou l'autre méthode, vous aurez besoin des droits appropriés. Les autorisations sont appelées «Annuler les modifications des autres utilisateurs» et «Déverrouiller les modifications des autres utilisateurs». Ces autorisations peuvent être consultées par:

  1. Cliquez avec le bouton droit sur le projet, le dossier ou le fichier souhaité dans l'Explorateur de contrôle de source
  2. Sélectionnez Propriétés
  3. Sélectionnez l'onglet Sécurité
  4. Sélectionnez l'utilisateur ou le groupe approprié dans la section Utilisateurs et groupes en haut
  5. Afficher la section "Autorisations pour [utilisateur / groupe]:" en bas

Suppression de l'espace de travail

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 
brett rogers
la source
Pour moi, la commande tf undo / workspace: mydesk * .sdf signale "Aucune modification en attente" mais n'annule pas l'
extraction
J'ai oublié le chemin du serveur TFS avant mon itemspec * .sdf, j'avais supposé que cela fonctionnerait à partir du répertoire actuel. La ligne de commande que vous donnez fonctionne pour moi maintenant.
dumbledad
1
Assurez-vous d'utiliser des guillemets autour des chemins avec des espaces, sinon vous risquez de recevoir un message du type: "Aucune modification en attente n'a été trouvée pour $ / xxx"
PeterX
Comment trouver le nom de l'espace de travail? Je vois que je peux exécuter: tf workspaces / owner: [autre utilisateur] / serveur: [serveur], j'obtiens une liste de quatre espaces de travail dont dispose l'utilisateur, mais comment savoir de quel espace de travail il s'agit pour le fichier?
PeterX
1
PeterX, vous pouvez voir l'espace de travail en accédant au fichier dans l'Explorateur de solutions de Visual Studio, cliquez avec le bouton droit sur le fichier verrouillé et sélectionnez Propriétés, puis dans l'onglet État, vous avez des informations sur l'espace de travail et l'utilisateur qui a verrouillé le fichier
Dante
36

Le moyen le plus simple que j'ai trouvé est d'utiliser l' application gratuite TFS Sidekick . Il a une option pour afficher et annuler le paiement des autres utilisateurs.

Marek Karbarz
la source
5
Il est sous "Status Sidekick". Rechercher, sélectionner des fichiers, annuler.
Wolf5
Si l'utilisateur a quitté l'entreprise, vous devez connaître le nom d'utilisateur Active Directory (qui n'est pas toujours le même que le prénom et / ou le nom de l'utilisateur). Mon entreprise attribue des noms d'utilisateur numérotés, je devais donc rechercher l'utilisateur à la retraite avant de pouvoir le rechercher dans VS ou dans Status TFS Sidekick.
Zephan Schroeder
Cela a fonctionné à merveille. tellement plus facile que d'essayer de comprendre les noms des espaces de travail et autres en utilisant l'outil de ligne de commande.
Bo Flexson
28

J'ai eu ce problème moi-même et j'ai trouvé un moyen plus simple de nettoyer les anciens espaces de travail.

  1. Dans Visual Studio, ouvrez l' Explorateur de contrôle de code source .

  2. De l' « espace de travail » déroulant, sélectionnez « Workspaces ... »

  3. Une boîte de dialogue apparaîtra montrant les espaces de travail sur votre PC actuel. Sélectionnez " Afficher les espaces de travail distants "

  4. Vous verrez désormais également les espaces de travail de votre ancien PC (à condition qu'ils proviennent du même compte utilisateur). Sélectionnez les anciens espaces de travail et cliquez sur « Supprimer ». Cela devrait supprimer l'ancien espace de travail de TFS ainsi que toutes les extractions persistantes.

Je suis sûr qu'Arne a trouvé une solution, mais j'espère que cela aidera les autres qui recherchent le problème sur Google.

saeid mohammad hashem
la source
7
Cela fonctionne bien si vous êtes le propriétaire de l'espace de travail, en particulier pour nettoyer votre liste actuelle d'espaces de travail. Pas si bon pour supprimer les espaces de travail d'autres utilisateurs ou les verrous de paiement :-).
Zephan Schroeder
D'accord. Cela fonctionne bien pour supprimer vos propres verrous de caisse d'un autre PC.
Chris
1
Bien, mais la question est spécifique pour déverrouiller les fichiers qui sont extraits pour un utilisateur DIFFÉRENT.
BrainSlugs83
9

Sélectionnez votre fichier dans le sidekick de TFS, puis au-dessus de la liste, vous avez un "annuler le changement en attente". Cliquez dessus et le changement sera annulé :) L'icône est similaire à l'icône "Annuler" dans MS word Obtenez des sidekicks TFS sur http://www.attrice.info/cm/tfs/index.htm

Maryam
la source
Outil le plus simple à utiliser. M'a vraiment aidé à annuler un changement au niveau de la solution qu'un ancien travailleur avait vérifié
Vishnoo Rath