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 :

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