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 contrôlés par la version de Team Foundation Version Control (TFVC).
Note
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 contrôlés par la version, 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 contrôle de version. Par exemple, si certains fichiers sont infectés par un virus informatique, vous devez les supprimer définitivement du contrôle de version. Ne détruisez pas les fichiers qui sont toujours nécessaires. L’action de destruction ne peut pas être inversée.
Avant d’exécuter tf destroy
sans l’option /keephistory
, commencez par supprimer les fichiers que vous souhaitez détruire. Pour plus d’informations, consultez Supprimer des fichiers et des dossiers du contrôle 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.
Conditions préalables
Pour utiliser la commande destroy
, appartient au 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 du serveur du fichier ou du 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 de /keephistory
ou de /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 une spécification de version pour déterminer quels éléments se trouvent dans son étendue, consultez Utiliser les commandes de contrôle de version Team Foundation.
<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 des 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 spécifiée avec l’option /preview
.
/stopat
Optionnel. Peut être utilisé uniquement si /keephistory
est également spécifié.
Spécifie la version du fichier et les fichiers qui suivent par la suite, pour lesquels l’historique est conservé.
La version par défaut de /stopat
est tip
(T) pour la dernière version archivée d’un élément.
Vous ne pouvez pas utiliser d’étiquette ou d’espace de travail versionspec
valeurs 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. Lorsque tf destroy
s’exécute en mode préversion, les fichiers ne sont pas réellement détruits.
Note
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 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étruit 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.
Remarques
Lorsque vous utilisez tf destroy
pour détruire les fichiers de contrôle de version, la couche Application de TFVC reçoit la demande 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 de message d’erreur qui vous indique que vous n’avez pas suffisamment d’autorisations pour effectuer l’opération.
Une fois que le système vérifie vos autorisations, il exécute la commande destroy. Cette commande supprime toutes les références de fichier, les ensembles de rayons et les modifications en attente. La destruction réelle des fichiers, qui est une suppression permanente, se produit la prochaine fois que le contenu qui n’est plus référencé par Azure DevOps Server est nettoyé. Vous pouvez également spécifier l’option /startcleanup
pour 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 console Oui ou Non invite pour chaque valeur de filespec
. Sinon, vous pouvez spécifier Oui à tous les.
Si vous ne spécifiez pas
/keephistory
, vous êtes invité par un texte interactif qui avertit les modifications en attente, le cas échéant. Le texte interactif pointe vers/preview
si vous souhaitez plus d’informations sur les modifications.Si vous spécifiez
/keephistory
, vous êtes également invité par Oui, Nonou Oui à tout le texte. Si vous sélectionnez Oui ou Oui à tous les, le processus de destruction démarre et les chemins du serveur vers les éléments détruits apparaissent dans la fenêtre d’invite de commandes.
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
Si vous avez spécifié la valeur versionspec
comme tip
, les chemins d’accès du serveur affichés dans la fenêtre d’invite de commandes incluent des 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 entrez tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
sur la ligne de commande, la fenêtre de commande affiche ce texte :
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 contrôle de version Team Foundation.
Effets de /keephistory sur d’autres opérations de contrôle de version
Si vous spécifiez l’option /keephistory
pour 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 la modification ou la branche, le système émet un message d’erreur indiquant que le contenu a été détruit.
Branch, merge ou unshelve. Si vous essayez de créer des branches, fusionner ou supprimer 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 est attaché à celui-ci et entraîne une modification du nom de fichier.
Effets de tf destroy sur la recherche de code de dépôt TFVC
La recherche de code ne gère pas tf destroy
notifications. Par conséquent, l’utilisation de tf destroy
pour les 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 de 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, entrez à la ligne de commande :
tf destroy $/MyTeamProject/aFolder;x123
où x123
est l’ID de suppression.