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 comando tf destroy
per eliminare definitivamente o eliminare definitivamente i file controllati dalla versione da Team Foundation Version Control (TFVC).
Nota
L'eliminazione di un repository TFVC all'interno di Azure Devops non è consentita dopo la creazione. Il comando tf destroy
distruggerà o eliminerà definitivamente file o 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 comando destroy
, appartenere al gruppo di sicurezza Amministratori di Team Foundation. 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ù valori itemspec
per eliminare più elementi. Ad esempio, tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
.
I percorsi locali non sono supportati.
<versionspec>
Fornisce una versione come C58
per le opzioni di /keephistory
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 valore di username
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
di opzione
Descrizione
/keephistory
Opzionale. 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
Opzionale. Può essere utilizzato solo se viene specificato /keephistory
.
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 valori di etichetta o 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 effettivamente 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 definitivamente si verifica 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
o /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 usa tf destroy
per eliminare 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 Administrators. 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 l'esecuzione di tf destroy
.
Se si esegue tf destroy
senza specificare /i
e /preview
, il sistema visualizza una console Sì o Nessuna richiesta di per ogni valore di filespec
. 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ì, Noo Sì a tutto 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 valore versionspec
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 riga di comando tf
, 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 le notifiche tf destroy
, quindi l'uso di tf destroy
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 di 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.