Commande Destroy (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Utilisez la commande tf destroy
pour détruire ou supprimer définitivement des fichiers à version contrôlée de Team Foundation Version Control (TFVC).
Remarque
La suppression d’un référentiel TFVC à l’intérieur d’Azure Devops n’est pas autorisée une fois qu’elle a été créée. La commande tf destroy
détruit ou supprime définitivement les fichiers ou dossiers à version contrôlée, mais ne supprime pas le référentiel TFVC. Il apparaît toujours dans la liste des options avec le message supprimé.
Parfois, vous devez nettoyer les systèmes de gestion de version. Par exemple, si certains fichiers sont infectés par un virus informatique, vous devez les supprimer définitivement de la gestion de version. Ne détruisez pas les fichiers qui sont encore nécessaires. L’action de destruction est irréversible.
Avant d’exécuter tf destroy
sans l’option /keephistory
, supprimez d’abord les fichiers que vous souhaitez détruire. Pour plus d’informations, consultez Supprimer des fichiers et des dossiers de la gestion de version.
Après avoir supprimé les fichiers, vous pouvez synchroniser l’entrepôt TFVC. Sinon, l’entrepôt ne sera pas synchronisé avec les éléments détruits.
Prérequis
Pour utiliser la commande destroy
, vous devez être membre du groupe de sécurité Team Foundation Administrators. Pour plus d’informations, consultez Autorisations TFVC par défaut.
Syntaxe
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
Paramètres
Arguments
Argument
Description
<itemspec1> [<itemspec2>...<itemspecN>]
Spécifie le chemin d’accès serveur du fichier ou dossier à détruire. Utilisez plusieurs valeurs itemspec
pour supprimer plusieurs éléments. Par exemple : tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
.
Les chemins d’accès locaux ne sont pas pris en charge.
<versionspec>
Fournit une version telle que C58
pour les options /keephistory
ou /stopat
. Les valeurs autorisées sont date
, tip
ou un ensemble de modifications spécifique. Pour plus d’informations sur la façon dont TFVC analyse les spécifications d’une version pour déterminer quels éléments se trouvent à sa portée, consultez Utiliser les commandes de gestion de version de Team Foundation.
<username>
Fournit une valeur à l’option /login
. Vous pouvez spécifier cette valeur username
en tant que DOMAIN\username
ou username
.
TeamProjectCollectionUrl
L’URL de la collection de projets qui contient les fichiers que vous souhaitez détruire, par exemple http://myserver:8080/tfs/DefaultCollection
.
Options
Option
Description
/keephistory
Optionnel. Spécifie que l’historique d’un fichier est conservé même si son contenu est détruit. Cette option ne peut pas être combinée avec l’option /preview
.
/stopat
facultatif. Ne peut être utilisée que si /keephistory
est également spécifiée.
Spécifie la version du fichier et les fichiers suivants pour lesquels l’historique est conservé.
La version par défaut pour /stopat
est tip
(T) pour la dernière version archivée d’un élément.
Vous ne pouvez pas utiliser les valeurs d’étiquette ou d’espace de travail versionspec
pour spécifier un élément pour l’option /stopat
.
/preview
Affiche les fichiers qui seraient détruits dans la fenêtre d’invite de commandes. Lors tf destroy
s’exécute en mode préversion, les fichiers ne sont pas réellement détruits.
Notes
Le texte de la fenêtre d’invite de commandes affiche le mot Détruit avec chaque fichier qui serait détruit. Toutefois, le fichier n’est pas vraiment détruit lorsque l’option /preview
est utilisée.
/startcleanup
Force le processus de nettoyage des métadonnées TFVC à démarrer immédiatement après la fin de la suppression. Si l’utilisateur ne spécifie pas /startcleanup
, le processus de nettoyage des métadonnées détruites se produit lorsque la maintenance de la base de données nettoie tous les fichiers qui ne sont plus référencés par Azure DevOps Server. Par défaut, le nettoyage est planifié pour s’exécuter tous les cinq jours. Sept jours après le nettoyage des métadonnées TFVC, le contenu est supprimé par un autre processus de nettoyage. Par défaut, ce processus de nettoyage de contenu s’exécute une fois par jour.
/noprompt
ou /i
Spécifie que la destruction des fichiers n’est pas interactive. /i
est un alias pour /noprompt
.
/silent
Spécifie que, lorsque vous détruisez des fichiers ou des dossiers, la sortie n’est pas écrite dans la fenêtre d’invite de commandes.
/login
Spécifie le nom d’utilisateur et le mot de passe pour authentifier l’utilisateur auprès de TFVC.
/collection
Spécifie la collection de projets.
Notes
Lorsque vous utilisez tf destroy
pour détruire des fichiers de gestion de version, la couche Application de TFVC reçoit la requête de destruction et vérifie si vous êtes membre du groupe de sécurité Team Foundation Administrators . Si vous n’êtes pas membre, le système affiche une boîte de dialogue avec un message d’erreur qui vous indique que vous ne disposez pas des autorisations suffisantes pour effectuer l’opération.
Une fois que le système a vérifié vos autorisations, il exécute la commande de destruction. Cette commande supprime toutes les références de fichiers, les jeux de réservations et les modifications en attente. La destruction réelle des fichiers, qui est une suppression permanente, se produira lors du prochain nettoyage du contenu qui n’est plus référencé par Azure DevOps Server. Vous pouvez également spécifier l’option /startcleanup
permettant de nettoyer les fichiers immédiatement après l’exécution de tf destroy
.
Si vous exécutez tf destroy
sans spécifier /i
et /preview
, le système affiche une invite de console Oui ou Non pour chaque valeur filespec
. Sinon, vous pouvez spécifier Oui à tout.
Si vous ne spécifiez pas
/keephistory
, un texte interactif s’affiche pour vous prévenir des modifications en attente, le cas échéant. Le texte interactif vous dirige vers/preview
si vous souhaitez plus d’informations sur les modifications.Si vous spécifiez
/keephistory
, on vous demande également de répondre Oui, Non ou Oui à tout . Si vous sélectionnez Oui ou Oui à tout, le processus de destruction démarre et les chemins d’accès serveur vers mes éléments détruits s’affichent dans la fenêtre d’invite de commandes.
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
Si vous avez spécifié tip
pour la valeur versionspec
, les chemins d’accès serveur affichés dans la fenêtre d’invite de commandes incluent les ID de suppression. Par exemple, Destroyed: $/Test1/MyProject;X123
peut apparaître dans la fenêtre d’invite de commandes.
Si vous utilisez l’option /preview
, les fichiers ne sont pas détruits, mais le texte de ligne de commande affiche les fichiers qui seraient détruits. Par exemple, si vous saisissez tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
à la ligne de commande, la fenêtre de commande affiche le texte suivant :
Destroyed: $/Test1/MyProject/MyProject/Program.cs
Toutefois, le fichier n’est pas détruit, car vous avez utilisé l’option /preview
.
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.
Effets de /keephistory sur d’autres opérations de gestion de version
Si vous spécifiez l’option /keephistory
permettant de conserver l’historique des fichiers détruits, les fichiers sont traités comme détruits par les opérations TFVC suivantes :
Modifier le contenu. Si vous essayez de modifier le contenu d’un fichier détruit, par exemple le modifier ou créer une branche, le système émet un message d’erreur indiquant que le contenu a été détruit.
Créer une branche, fusionner ou déréserver. Si vous essayez de créer une branche, de fusionner ou de déréserver des éléments détruits, le système émet un message d’erreur indiquant que le contenu des éléments a été détruit.
Détruire les éléments précédemment supprimés
Si un élément a déjà été supprimé, un ID de suppression y est attaché et entraîne un changement de nom de fichier.
Effets de tf destroy sur la recherche de code de référentiel TFVC
La recherche de code ne gère pas les notifications tf destroy
. L’utilisation de tf destroy
pour des dépôts TFVC ne supprime pas automatiquement les fichiers de l’index de recherche. Par conséquent, ces fichiers apparaissent dans les résultats de la recherche de code. Pour éviter ces scénarios de fichiers fantômes, supprimez les fichiers avant l’opération tf destroy
.
Exemples
L’exemple suivant supprime définitivement le fichier a.cs.
tf destroy $/proj/pi/a.cs
L’exemple suivant supprime un dossier, aFolder :
tf delete $/MyTeamProject/aFolder
Pour détruire l’élément supprimé aFolder, saisissez à la ligne de commande :
tf destroy $/MyTeamProject/aFolder;x123
où x123
est l’ID de suppression.