Commande Verrouiller (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
La commande lock
Team Foundation Version Control (TFVC) verrouille ou déverrouille un fichier ou un dossier. La commande refuse ou restaure le droit des utilisateurs d’extraire un élément à modifier dans un autre espace de travail ou d’archiver les modifications en attente d’un élément à partir d’un autre espace de travail.
Prérequis
Pour utiliser la commande lock
, l’autorisation Verrouiller doit être définie sur Autoriser. Vous avez besoin que l’autorisation Déverrouiller les modifications de l’autre utilisateur soit définie sur Autoriser pour supprimer un verrouillage détenu par un autre utilisateur si vous ne disposez pas de l’autorisation Écriture pour l’espace de travail de cet utilisateur. Pour plus d’informations, consultez Autorisations TFVC par défaut.
Syntaxe
tf lock itemspec /lock:(none|checkout|checkin)
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
Paramètres
Arguments
Argument
Description
<itemspec>
Identifie le fichier ou dossier à verrouiller ou à déverrouiller. Pour plus d’informations sur la façon dont TFVC analyse le itemspec
pour déterminer quels éléments se trouvent dans l’étendue, consultez Utiliser les options pour modifier le fonctionnement d’une commande.
Notes
Vous pouvez définir plusieurs arguments itemspec
.
<workspacename>
La valeur fournie par l’utilisateur pour l’option /workspace
.
<username>
Fournit une valeur à l’option /login
. Vous pouvez définir une valeur username
comme DOMAIN\username
ou username
.
<TeamProjectCollectionUrl>
L’URL de la collection de projets qui contient le fichier ou le dossier que vous souhaitez verrouiller ou déverrouiller, par exemple http://myserver:8080/tfs/DefaultCollection
.
Options
Option
Description
/lock
Spécifie un type de verrouillage ou supprime un verrouillage d’un élément. Pour plus d’informations, consultez Comprendre les types de verrouillages.
Options de verrouillage :
None
: supprime un verrouillage d’un élément.Checkin
: permet à un élément d’être extrait et modifié dans tous les espaces de travail, mais empêche les utilisateurs d’archiver les modifications apportées à l’élément en dehors du/workspace
spécifié jusqu’à ce que vous enleviez explicitement le verrouillage d’archivage. Si l’élément spécifié est verrouillé dans un autre espace de travail, l’opération de verrouillage échoue.Checkout
: empêche les utilisateurs d’archiver ou d’extraire les éléments spécifiés jusqu’à ce que vous enleviez explicitement le verrouillage. Si les utilisateurs ont verrouillé l’un des éléments spécifiés, ou si des modifications en attente existent sur l’un des éléments, l’opération de verrouillage échoue.
/workspace
Spécifie le nom d’un autre espace de travail dans lequel appliquer le verrouillage. Par défaut, le verrouillage est appliqué dans l’espace de travail dans lequel vous vous trouvez actuellement.
/login
Spécifie le nom d’utilisateur et le mot de passe pour authentifier l’utilisateur auprès d’Azure DevOps.
/collection
Spécifie la collection de projets.
Notes
Vous pouvez utiliser la commande de verrouillage pour figer temporairement la version du serveur TFVC d’un élément afin de pouvoir vérifier une modification en attente sans avoir à résoudre les conflits de fusion. Si vous souhaitez empêcher définitivement l’accès à un élément dans le serveur TFVC, vous devez utiliser la commande d’autorisation à la place.
Notes
Par courtoisie pour vos collègues, informez-les quand vous appliquez un verrouillage à un élément, expliquez pourquoi vous faites cela et, si possible, donnez une estimation de la durée du verrouillage.
Pour plus d’informations sur l’utilisation de l’utilitaire de ligne de commande tf
, consultez Utiliser les commandes de gestion de version Team Foundation.
Comment verrouiller un élément
Vous pouvez verrouiller un élément à l’aide de la commande lock
ou en définissant une option lock
lors de la mise en service de plusieurs autres commandes tf
de l’utilitaire de ligne de commande, notamment :
- Commande Renommer (Team Foundation Version Control)
- Commandes Extraire et Modifier
- Commande Supprimer (Team Foundation Version Control)
- Commande Undelete
- Commande Fusionner
- Commande Branch
- Ajouter une commande
Pour add
et branch
, le verrouillage est placé sur l’espace de noms où le nouvel élément sera créé. Le verrouillage mis en place avec rename
s’applique aux anciens et nouveaux espaces de noms. Pour plus d’informations, consultez Verrouiller et déverrouiller des dossiers ou des fichiers.
Types de verrou
TFVC fournit deux types de verrouillage : checkin
et checkout
.
Un verrouillage d’archivage est moins restrictif qu’un verrouillage d’extraction. Lorsque vous appliquez un verrouillage d’archivage, les utilisateurs peuvent continuer à apporter des modifications locales à l’élément dans d’autres espaces de travail. Les modifications ne peuvent pas être archivées tant que vous n’avez pas explicitement supprimé le verrouillage d’archivage de l’espace de travail.
Un verrouillage d’extraction est plus restrictif qu’un verrouillage d’archivage. Lorsque vous appliquez un verrouillage d’extraction à un fichier ou dossier à version contrôlée, les utilisateurs ne peuvent pas extraire l’élément pour modification ni archiver les modifications en attente préexistantes. Vous ne pouvez pas acquérir un verrouillage d’extraction si des modifications sont en attente d’un élément.
Pour plus d’informations sur l’application d’un verrouillage d’extraction et l’application d’un verrouillage d’archivage, consultez Comprendre les types de verrouillages.
Fonctionnement du verrouillage
Si vous avez extrait un fichier lorsque vous le verrouillez, son état est modifié pour contenir le nouveau type de verrouillage. Si les fichiers ne sont pas extraits, une modification de verrouillage est ajoutée à l’ensemble des modifications de l’espace de travail en attente. Contrairement à la commande checkout
, lock
ne rend pas automatiquement un fichier modifiable.
Le verrouillage sur les dossiers est implicitement récursif. Si vous verrouillez un dossier, vous n’avez pas besoin de verrouiller les fichiers qu’il contient, sauf si vous souhaitez appliquer le verrouillage d’extraction plus restrictif à un fichier dans un dossier qui a un verrouillage d’archivage.
Déverrouiller un élément
Vous pouvez déverrouiller un élément verrouillé à l’aide de l’option none
. TFVC déverrouille également automatiquement un élément lorsque vous archivez les modifications en attente dans l’espace de travail.
Vous pouvez déterminer quels fichiers sont verrouillés sur le serveur TFVC et par qui les fichiers ont été verrouillés à l’aide de la commande État.
Exemples
L’exemple suivant empêche d’autres utilisateurs d’extraire 314.cs.
c:\projects>tf lock /lock:checkout 314.cs
L’exemple suivant empêche d’autres utilisateurs d’archiver les modifications apportées à 1256.cs, mais leur permet de les extraire dans leurs espaces de travail.
c:\projects>tf lock /lock:checkin 1256.cs
L’exemple suivant empêche d’autres utilisateurs d’attendre des modifications apportées à des éléments dans le dossier $/src du serveur TFVC.
c:\projects>tf lock /lock:checkout $/src
L’exemple suivant déverrouille et rend tous les fichiers du dossier serveur $/src TFVC disponibles pour l’extraction et l’archivage par d’autres utilisateurs.
c:\projects>tf lock /lock:none $/src