Commande Shelve (Team Foundation Version Control)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

La commande Team Foundation Version Control (TFVC) shelve stocke un ensemble de modifications en attente, ainsi que des notes d’archivage en attente, un commentaire et une liste d’éléments de travail associés sur un serveur Azure DevOps sans les archiver.

Prérequis

Si vous souhaitez utiliser la commande shelve pour supprimer un jeu de réservations, vous devez être propriétaire du jeu de réservations, ou votre autorisation Administrer les modifications réservées doit être définie sur Autoriser. Pour plus d’informations, consultez Autorisations TFVC par défaut.

Syntaxe

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname] [/validate][/noprompt] [/login:username,[password]]
tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] [shelvesetname] itemspec [/validate] [/noprompt] [/login:username,[password]]
tf shelve /delete shelvesetname[;owner] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

Paramètres

Arguments

Argument Description
<commentfile> Spécifie le chemin d’accès du système de fichiers d’un fichier à partir duquel les commentaires pour le jeu de réservations doivent être lus.
<comment> Spécifie le commentaire du jeu de réservations.
<itemspec> Identifie les fichiers ou dossiers à enregistrer. Par défaut, toutes les modifications en attente dans l’espace de travail actuel sont supprimées si ce paramètre n’est pas spécifié. Pour plus d’informations sur la façon dont Team Foundation analyse un itemspec pour déterminer quels éléments se trouvent dans l’étendue, consultez Utiliser les options pour modifier le fonctionnement d’une commande.
<shelvesetname> Spécifie un nom par lequel le jeu de réservations peut être récupéré à partir du serveur Azure DevOps. Vous pouvez spécifier une combinaison existante de shelvesetname et owner, mais uniquement si /replace est également spécifié.

Il est obligatoire d'indiquer une valeur pour ce paramètre.
<owner> Identifie le propriétaire actuel ou prévu du jeu de réservations par nom d’utilisateur. Par défaut, la propriété du jeu de réservations est attribuée à l’utilisateur actuel s’il n’en est pas spécifié.
<username> Fournit une valeur à l’option /login. Vous pouvez spécifier une valeur de nom d’utilisateur en tant que DOMAIN\username ou username.
<TeamProjectCollectionUrl> URL de la collection de projets qui contient les fichiers ou dossiers que vous souhaitez enregistrer, par exemple http://myserver:8080/tfs/DefaultCollection/.

Options

Option Description
/new L’état sélectionné de chaque modification en attente, comme indiqué dans la boîte de dialogue Archiver Visual Studio, le commentaire, les éléments de travail associés, les notes d’archivage et la raison de remplacement de la stratégie d’archivage, sont stockés sur votre ordinateur de développement en tant que modifications en attente jusqu’à ce que vous les archivez. L’option /new désactive ces métadonnées d’archivage avant de vous archiver.
/move Supprime les modifications en attente de l’espace de travail une fois l’opération d’archivage réussie.
/replace Remplace le jeu de réservations existant avec le même nom et le même propriétaire que celui que vous spécifiez.
/delete Supprime le jeu de réservations spécifié. Seule l’option /server peut être combinée avec cette option. Si vous n’incluez pas l’option /noprompt, un message de confirmation s’affiche lorsque l’option /delete est spécifiée.
/comment Ajoute un commentaire spécifié décrivant les modifications de réservations.
/recursive Place tous les éléments dans le dossier de jeu de réservations spécifié, ses sous-dossiers et tous les éléments qui s’y trouvent si le itemspec que vous fournissez est un dossier.
/noprompt Supprime toutes les invites d’entrée de votre part.
/validate Cette option sélectionne la case à cocher Évaluer les stratégies et notes d’archivage avant la réservation dans la boîte de dialogue Réserver - Fichiers sources à l’ouverture. Lorsque la case à cocher de validation est cochée, la boîte de dialogue évalue les stratégies d’archivage et vérifie que les notes d’archivage doivent être renseignées. Cette option est utile lorsque les modifications sont remises pour révision et archivage par quelqu’un d’autre. Non valide lorsqu’elle est combinée avec /noprompt.
/login Spécifie le nom d’utilisateur et le mot de passe pour authentifier l’utilisateur auprès d’Azure DevOps Server.
/collection Spécifie la collection de projets.

Notes

La commande shelve de l’utilitaire de ligne de commande tf sauvegarde les modifications en attente, une liste d’éléments de travail associés, des notes d’archivage en cours et des commentaires dans un jeu de réservations sur le serveur Azure DevOps. Un jeu de réservations ressemble beaucoup à un ensemble de modifications qui n’est pas validé sur le serveur. À l’instar d’un ensemble de modifications, un jeu de réservations peut être récupéré du serveur dans un espace de travail local par tout utilisateur disposant d’autorisations suffisantes.

La réservation est une alternative à la vérification des modifications en attente qui n’ont pas été testées suffisamment. Utilisez la réservation lorsque vous souhaitez interrompre votre travail pour :

  • Partagez un ensemble de fichiers de travail locaux avec un autre développeur ou testeur sans vérifier vos modifications apportées au serveur de contrôle de version.

  • Réservez temporairement un groupe de modifications en attente sans les archiver. Vous pouvez donc travailler sur un problème de priorité plus élevée. Une fois que vous avez terminé le travail sur la tâche à priorité élevée, vous pouvez restaurer vos modifications en utilisant la commande Unshelve.

Si vous incluez l’option /move, la commande shelve restaure chaque révision de fichier de sauvegarde vers la version de l’espace de travail de base qui est la dernière version récupérée du serveur vers l’espace de travail actuel. Plus précisément, pour tous les éléments que vous avez réservés, l’option /move :

  • Utilise Undo pour annuler les modifications qui ont été sauvegardées. Les fichiers qui étaient en attente d’ajouts sont supprimés de l’espace de travail.

  • Récupère les versions de l’espace de travail de base de tous les fichiers pour lesquels des éditions en attente existent du serveur dans l’espace de travail actuel.

  • Marque tous les éléments de l’espace de travail actif en lecture seule.

Si vous incluez l’option /delete, TFVC supprime définitivement le jeu de réservations spécifié du serveur Azure DevOps.

Pour plus d’informations sur l’utilisation de l’utilitaire tf de ligne de commande, consultez Utiliser les commandes de contrôle de version Team Foundation.

Exemples

L’exemple suivant crée un jeu de réservations sur le serveur Azure DevOps appelé Reflector_BuddyTest, affecte la propriété à l’utilisateur Pat, retourne tous les éléments de l’espace de travail actuel à la dernière version téléchargée pendant la dernière opération get et définit un état en lecture seule :

c:\projects> tf shelve Reflector_BuddyTest;Pat /move

L’exemple suivant supprime le jeu de réservations new-feature existant du serveur, crée un nouveau jeu de réservations par ce nom et conserve toutes les modifications en attente dans l’espace de travail actuel :

c:\projects> tf shelve new-feature /replace

L’exemple suivant crée un jeu de réservations nommé HelloWorld_TestMe qui inclut toutes les modifications en attente apportées à tous les fichiers .cs dans le dossier de travail C:\projects et ses sous-dossiers :

c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive

L’exemple suivant supprime le jeu de réservations HelloWorld_24 :

c:\projects> tf shelve HelloWorld_24 /delete