Commande Lock (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Team Foundation Version Control (TFVC) lock
verrous de commande 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 d’un autre espace de travail.
Conditions préalables
Pour utiliser la commande lock
, définissez l’autorisation Lock sur Autoriser. Vous avez besoin de l'Déverrouiller les modifications apportées à d’autres utilisateurs autorisation définie sur Autoriser à supprimer un verrou détenu par un autre utilisateur si vous n’avez pas autorisation d’é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 le 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 des options pour modifier la façon dont une fonction de commande.
Note
Vous pouvez spécifier plusieurs arguments itemspec
.
<workspacename>
Valeur fournie par l’utilisateur pour l’option /workspace
.
<username>
Fournit une valeur à l’option /login
. Vous pouvez spécifier une valeur username
comme DOMAIN\username
ou username
.
<TeamProjectCollectionUrl>
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 verrou ou supprime un verrou d’un élément. Pour plus d’informations, consultez Comprendre les types de verrous.
Options de verrouillage :
None
: supprime un verrou 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 relâchez explicitement le verrou 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 relâchez explicitement le verrou. 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 verrou. Par défaut, le verrou est appliqué dans l’espace de travail dans lequel vous êtes 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.
Remarques
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.
Note
En guise de courtoisie pour vos collègues, informez-les quand vous appliquez un verrou à un élément, expliquez pourquoi vous faites cela et estimez quand vous envisagez de supprimer le verrou, si vous le pouvez.
Pour plus d’informations sur l’utilisation de l’utilitaire de ligne de commande tf
, consultez Utiliser les commandes de contrôle de version Team Foundation.
Comment verrouiller un élément
Vous pouvez verrouiller un élément à l’aide de la commande lock
ou en spécifiant une option de lock
pendant la commission de plusieurs autres commandes de l’utilitaire de ligne de commande tf
, notamment :
- commande Renommer (Team Foundation Version Control)
- Commandes d’extraction et de modification
- commande Delete (Team Foundation Version Control)
- de commande Annuler la suppression
- commande Fusionner
- commande Branch
- Ajouter une de commande
Pour add
et branch
, le verrou est placé sur l’espace de noms où le nouvel élément sera créé. Les verrous placés avec rename
s’appliquent à l’ancien et au nouvel espace de noms. Pour plus d’informations, consultez Verrouiller et déverrouiller des dossiers ou des fichiers.
Types de verrous
TFVC fournit deux types de verrous : checkin
et checkout
.
Un verrou d’archivage est moins restrictif qu’un verrou de contrôle. Lorsque vous appliquez un verrou 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 vérifiées tant que vous n’avez pas supprimé explicitement le verrou d’archivage de l’espace de travail.
Un verrou d’extraction est plus restrictif qu’un verrou d’archivage. Lorsque vous appliquez un verrou d’extraction à un fichier ou dossier contrôlé par la version, les utilisateurs ne peuvent ni extraire l’élément pour modification ni archiver les modifications en attente préexistantes. Vous ne pouvez pas acquérir de verrou d’extraction s’il existe actuellement des modifications en attente apportées à un élément.
Pour plus d’informations sur le moment où appliquer un verrou d’extraction et quand appliquer un verrou d’archivage, consultez Comprendre les types de verrous.
Fonctionnement du verrouillage
Si vous avez extrait un fichier lorsque vous le verrouillez, son état est modifié pour contenir le nouveau type de verrou. Si les fichiers ne sont pas extraits, un verrou modification est ajouté à l’ensemble des modifications d’espace de travail en attente. Contrairement à la commande checkout
, lock
ne rend pas automatiquement un fichier modifiable.
Les verrous sur les dossiers sont implicitement récursifs. Si vous verrouillez un dossier, vous n’avez pas besoin de verrouiller les fichiers qu’il contient, sauf si vous souhaitez appliquer le verrou d’extraction plus restrictif à un fichier dans un dossier doté d’un verrou 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 dans le serveur TFVC et par qui les fichiers ont été verrouillés à l’aide de la commande Status.
Exemples
L’exemple suivant empêche les autres utilisateurs d’extraire 314.cs.
c:\projects>tf lock /lock:checkout 314.cs
L’exemple suivant empêche les 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 les autres utilisateurs d’attendre des modifications apportées aux éléments du dossier $/src sur le serveur TFVC.
c:\projects>tf lock /lock:checkout $/src
L’exemple suivant déverrouille et rend tous les fichiers dans le $/src dossier serveur TFVC disponible pour l’extraction et l’archivage par d’autres utilisateurs.
c:\projects>tf lock /lock:none $/src