web-dev-qa-db-fra.com

Que faites-vous si le fichier dans TFS est verrouillé par quelqu'un d'autre?

Quelqu'un a quitté l'organisation mais avant de partir, il a verrouillé tous les fichiers pour une raison inconnue.

Comment les déverrouillez-vous tous pour que les autres développeurs puissent travailler?

57
Maxime Rouiller

Pour l'opération suivante, vous devrez être soit un administrateur de projet pour le projet dont vous souhaitez annuler l'archivage, soit un administrateur Team Foundation si vous souhaitez le faire sur tous les projets.

Si vous avez toujours le nom d'utilisateur de la personne, vous pouvez simplement faire quelque chose comme ceci:

  • Ouvrez l'invite de commandes Visual Studio (Démarrer -> Programmes -> Microsoft Visual Studio 200X -> Visual Studio Tools -> Visual Studio 200X Command Prompt)
  • Exécutez la commande suivante:

tf lock/lock: none/workspace: WorkspaceName; USERNAME/récursif $ /

Pour obtenir la liste des espaces de travail pour un utilisateur, exécutez simplement la commande suivante à partir de la même invite:

tf workspaces/owner: nom d'utilisateur

Pour plus de commandes, vérifiez tf /?

55
Maxime Rouiller

Si le développeur a quitté l'organisation, la meilleure chose à faire est de supprimer ses espaces de travail. Cela déverrouillera les fichiers pour vous mais libérera également certaines ressources sur le serveur.

Voir le billet de blog suivant que j'ai fait sur le sujet lorsqu'il m'est arrivé il y a quelques années.

http://www.woodwardweb.com/vsts/unlocking_files.html

Vous pouvez soit supprimer l'espace de travail à l'aide de la ligne de commande (tf.exe), soit utiliser l'excellent TFS Sidekicks d'Attrice.

33
Martin Woodward

C'était la seule façon de résoudre ce problème, qui impliquait la suppression de l'espace de travail de l'utilisateur.

Si le message d'erreur indique "L'élément $/... est verrouillé pour l'extraction par someUser: 1 dans l'espace de travail someMachine123." alors j'utilise la commande:

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1

Il n'y a qu'un seul espace entre l'URL de la collection et someMachine123;someUser:1.

Notez que j'ai fait attention au fait que le message d'erreur mentionnait l'utilisateur comme someUser:1, j'ai donc imité cela dans la commande. Il ne suffisait pas d'exécuter la commande uniquement avec someUser. Je ne suis pas sûr de savoir à quoi sert le: 1, mais au point d'être, imitez le message d'erreur.

Notez que le serveur doit être le chemin de collecte complet, que vous pouvez trouver en accédant à Team Foundation Server Administration Console-> Application Tier-> Team Project Collections, le volet inférieur affichera une URL pour la collection sélectionnée dans la partie supérieure vitre.

J'ai également eu un problème parce que j'ai accidentellement essayé d'utiliser le pluriel workspaces au lieu de simplement workspace car il existe une commande similaire au pluriel.

7
AaronLS

vous devez d'abord avoir le droit de le faire. Si vous avez que le plus simple est d'utiliser les acolytes TFS de attrice http://www.attrice.info/cm/tfs/

6
KeesDijk

J'avais besoin d'ajouter/collection: collectionURL sinon l'espace de travail était introuvable:

  • Élément de liste

tf loc/lock: none/workspace: WorkspaceName; UserName/collection: collectionURL

1
user1977234

Parfois, cela masque un problème différent avec une application complètement différente verrouillée par un autre utilisateur, mais vous ne pouvez même pas créer un nouveau dossier pour le nouveau projet dans lequel vous souhaitez fusionner (la cible n'autorisera pas la création et n'indiquera pas correctement que quelqu'un a un fichier verrouillé en leur nom) mais ensuite vous creusez plus profondément et un autre projet est le coupable.

Donc, un projet complètement différent peut être le problème avec le verrouillage des fichiers par quelqu'un d'autre.

0
Tom Stickel

Voici une explication de l'utilisation des autorisations TFS.

La définition de l'autorisation "Déverrouiller les modifications d'un autre utilisateur" sur Autoriser est nécessaire pour supprimer un verrou détenu par un autre utilisateur.

0
DOK

Méthode qui a fonctionné pour moi, mon compte a l'autorisation d'administrateur sur TFS et le projet:

Dans Visual studio 2015:

  1. Allez dans Team Explorer
  2. Cliquez à droite sur votre solution et choisissez Open in source control control exporer
  3. Sur le côté gauche, cliquez à droite sur votre solution
  4. Choisissez Avancé
  5. Choisissez Verrouiller ...
  6. Sur le côté gauche, cliquez à droite sur votre solution
  7. Choisissez Avancé
  8. Choisissez Déverrouiller (Maintenant, vous pouvez choisir de déverrouiller)

À l'heure actuelle, chaque développeur peut facilement valider ses modifications :)

0

Il est préférable de supprimer l'espace de travail de cet utilisateur du serveur. Exemple

tf workspace/delete/server: your_tfs_server workspace; username

0
Mrinmoy Das

Demandez à un administrateur système de réinitialiser le mot de passe de cet utilisateur, connectez-vous en tant qu'utilisateur, déverrouillez tous les fichiers ...

Je pense que c'est la solution à presque toutes les questions de `` quelqu'un qui n'est plus dans cette organisation '' ...

0