Comando Destroy (controllo della versione di Team Foundation)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Usare il tf destroy
comando per eliminare definitivamente o eliminare definitivamente i file controllati dalla versione da controllo della versione di Team Foundation (TFVC).
Nota
L'eliminazione di un repository TFVC all'interno di Azure Devops non è consentita dopo la creazione. Il comando tf destroy
eliminerà definitivamente solo i file o le cartelle controllati dalla versione, ma non eliminerà il repository TFVC. Verrà comunque visualizzato nell'elenco delle opzioni con il messaggio eliminato.
A volte è necessario pulire i sistemi di controllo della versione. Ad esempio, se alcuni file sono infettati da un virus del computer, è necessario rimuoverli definitivamente dal controllo della versione. Non distruggere i file ancora necessari. L'azione di eliminazione non può essere annullata.
Prima di eseguire tf destroy
senza l'opzione /keephistory
, eliminare prima di tutto i file da eliminare. Per altre informazioni, vedere Eliminare file e cartelle dal controllo della versione.
Dopo aver eliminato i file, è possibile sincronizzare il warehouse TFVC. In caso contrario, il magazzino non verrà sincronizzato con gli articoli eliminati.
Prerequisiti
Per usare il destroy
comando, è necessario appartenere al gruppo di sicurezza team Foundation Amministrazione istrators. Per altre informazioni, vedere Autorizzazioni tfvc predefinite.
Sintassi
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
Parametri
Argomenti
Argomento
Descrizione
<itemspec1> [<itemspec2>...<itemspecN>]
Specifica il percorso del server del file o della cartella da eliminare definitivamente. Usare più itemspec
valori per eliminare più elementi. Ad esempio: tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
.
I percorsi locali non sono supportati.
<versionspec>
Fornisce una versione, C58
ad esempio per le /keephistory
opzioni o /stopat
. I valori consentiti sono date
, tip
o un insieme di modifiche specifico. Per altre informazioni su come TFVC analizza una specifica di versione per determinare quali elementi si trovano all'interno del relativo ambito, vedere Usare i comandi di controllo della versione di Team Foundation.
<username>
Fornisce un valore all'opzione /login
. È possibile specificare un username
valore come DOMAIN\username
o username
.
TeamProjectCollectionUrl
URL della raccolta di progetti che contiene file che si desidera eliminare definitivamente, ad esempio http://myserver:8080/tfs/DefaultCollection
.
Opzioni
Opzione
Descrizione
/keephistory
Facoltativo. Specifica che la cronologia di un file viene mantenuta anche quando il relativo contenuto viene eliminato definitivamente. Questa opzione non può essere specificata con l'opzione /preview
.
/stopat
Facoltativo. Può essere utilizzato solo se /keephistory
è specificato anche.
Specifica la versione del file e i file che seguono successivamente, per cui viene mantenuta la cronologia.
La versione predefinita per /stopat
è tip
(T) per la versione archiviata più recente di un elemento.
Non è possibile usare i valori dell'etichetta o dell'area di lavoro versionspec
per specificare un elemento per l'opzione /stopat
.
/preview
Visualizza i file che verrebbero eliminati definitivamente nella finestra del prompt dei comandi. Quando tf destroy
viene eseguito in modalità di anteprima, i file non vengono effettivamente eliminati definitivamente.
Nota
Il testo nella finestra del prompt dei comandi visualizza la parola Destroyed con ogni file che verrebbe eliminato definitivamente. Tuttavia, il file non viene eliminato definitivamente quando viene usata l'opzione /preview
.
/startcleanup
Forza l'avvio del processo di pulizia dei metadati tfvc subito dopo il completamento dell'eliminazione. Se l'utente non specifica /startcleanup
, il processo di pulizia dei metadati eliminati viene generato quando la manutenzione del database pulisce tutti i file a cui non fa più riferimento Azure DevOps Server. Per impostazione predefinita, la pulizia è pianificata per l'esecuzione ogni cinque giorni. Sette giorni dopo la pulizia dei metadati tfvc, il contenuto viene eliminato da un altro processo di pulizia. Per impostazione predefinita, questo processo di pulizia del contenuto viene eseguito una volta al giorno.
/noprompt
oppure /i
Specifica che la distruzione dei file non è interattiva. /i
è un alias per /noprompt
.
/silent
Specifica che, quando si eliminano file o cartelle, l'output non viene scritto nella finestra del prompt dei comandi.
/login
Specifica il nome utente e la password per autenticare l'utente con TFVC.
/collection
Specifica la raccolta di progetti.
Osservazioni:
Quando si usano tf destroy
per eliminare definitivamente i file di controllo della versione, il livello applicazione di TFVC riceve la richiesta di eliminazione definitiva e verifica se si è membri del gruppo di sicurezza Team Foundation Amministrazione istrators. Se non si è membri, il sistema visualizza una finestra di dialogo di messaggio di errore che indica che non si dispone di autorizzazioni sufficienti per eseguire l'operazione.
Dopo che il sistema verifica le autorizzazioni, esegue il comando destroy. Questo comando elimina tutti i riferimenti ai file, gli scaffali e le modifiche in sospeso. L'effettiva distruzione dei file, ovvero un'eliminazione permanente, avviene alla successiva pulizia del contenuto a cui non fa più riferimento Azure DevOps Server. È anche possibile specificare l'opzione /startcleanup
per pulire i file immediatamente dopo tf destroy
l'esecuzione.
Se si esegue tf destroy
senza specificare /i
e /preview
, nel sistema viene visualizzata una richiesta Sì o No per ogni filespec
valore. In caso contrario, è possibile specificare Sì a Tutti.
Se non si specifica
/keephistory
, viene richiesto un testo interattivo che avvisa delle modifiche in sospeso, se presenti. Il testo interattivo punta a/preview
se si desidera ottenere altre informazioni sulle modifiche.Se si specifica
/keephistory
, viene richiesto anche Sì, No o Sì a Tutto il testo. Se si seleziona Sì o Sì a tutti, viene avviato il processo di distruzione e i percorsi del server per gli elementi eliminati vengono visualizzati nella finestra del prompt dei comandi.
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
Se è stato specificato il versionspec
valore come tip
, i percorsi del server visualizzati nella finestra del prompt dei comandi includono ID di eliminazione. Ad esempio, Destroyed: $/Test1/MyProject;X123
potrebbe essere visualizzato nella finestra del prompt dei comandi.
Se si usa l'opzione /preview
, i file non vengono eliminati definitivamente, ma il testo della riga di comando visualizza i file che verrebbero eliminati definitivamente. Ad esempio, se si immette tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
nella riga di comando, nella finestra di comando viene visualizzato il testo seguente:
Destroyed: $/Test1/MyProject/MyProject/Program.cs
Tuttavia, il file non viene eliminato definitivamente perché è stata usata l'opzione /preview
.
Per altre informazioni su come usare l'utilità della tf
riga di comando, vedere Usare i comandi di controllo della versione di Team Foundation.
Effetti di /keephistory su altre operazioni di controllo della versione
Se si specifica l'opzione /keephistory
per conservare la cronologia dei file eliminati definitivamente, i file vengono considerati eliminati definitivamente dalle operazioni TFVC seguenti:
Modificare il contenuto. Se si tenta di modificare il contenuto di un file eliminato, ad esempio modifica o ramo, il sistema genera un messaggio di errore che indica che il contenuto è stato eliminato definitivamente.
Branch, merge o unshelve. Se si tenta di creare rami, unire o rimuovere elementi eliminati definitivamente, il sistema genera un messaggio di errore che indica che il contenuto degli elementi è stato eliminato definitivamente.
Eliminare definitivamente gli elementi eliminati in precedenza
Se un elemento è già stato eliminato, viene associato un ID di eliminazione e viene restituita una modifica del nome file.
Effetti di tf destroy nella ricerca di codice del repository TFVC
La ricerca del codice non gestisce tf destroy
le notifiche, quindi l'uso tf destroy
di per i repository TFVC non eliminerà automaticamente i file dall'indice di ricerca. Di conseguenza, questi file vengono visualizzati nei risultati della ricerca del codice. Per evitare questi scenari di file fantasma, eliminare i file prima dell'operazione tf destroy
.
Esempi
Nell'esempio seguente viene eliminato definitivamente il file a.cs.
tf destroy $/proj/pi/a.cs
Nell'esempio seguente viene eliminata una cartella, aFolder:
tf delete $/MyTeamProject/aFolder
Per eliminare definitivamente l'elemento eliminato aFolder, immettere nella riga di comando:
tf destroy $/MyTeamProject/aFolder;x123
dove x123
è l'ID di eliminazione.