Partager via


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, tipou 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.

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

x123 est l’ID de suppression.