Comando Destroy (Control de versiones de Team Foundation)

Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2013

Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | Visual Studio 2013

Use el comando tf destroy para destruir o eliminar permanentemente archivos controlados por versiones del control de versiones de Team Foundation.

No se puede invertir la acción de destrucción. No debe destruir los archivos que siguen siendo necesarios. A veces tiene que limpiar los sistemas de control de versiones. Por ejemplo, si algunos archivos están infectados con un virus del equipo, tendrá que quitarlos permanentemente del control de versiones.

Antes de ejecutar tf destroy sin la opción /keephistory, se recomienda eliminar primero los archivos que desea destruir. Para obtener más información, vea Eliminar archivos y carpetas del control de versiones.

Después de eliminar los archivos, puede sincronizar el almacenamiento de Team Foundation. De lo contrario, el almacenamiento no se sincronizará con los elementos eliminados.

Prerrequisitos

Para usar el comando destroy, debe pertenecer al grupo de seguridad Administradores de Team Foundation. Para obtener más información, vea Permisos predeterminados de TFVC.

Sintaxis

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

Parámetros

Argumento

Argument

Descripción

itemspec1[itemspec2... itemspecN]

Especifica la ruta de acceso del servidor del archivo o carpeta que se va a destruir. Use varios valores itemspec para eliminar varios elementos. Por ejemplo, tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3.

No se admiten rutas de acceso locales.

versionspec

Proporciona una versión como C58 para las opciones /keephistoryo /stopat. Los valores permitidos son date, tip o un conjunto de cambios específico. Para obtener más información sobre cómo Team Foundation analiza una especificación de versión para determinar qué elementos están dentro de su ámbito, vea Usar comandos de control de versiones de Team Foundation.

username

Proporciona un valor para la opción /login. Puede especificar un valor de nombre de usuario como DOMAIN UserName o UserName.

TeamProjectCollectionUrl

Dirección URL de la colección de proyectos que contiene los archivos que desea destruir (por ejemplo, http://myserver:8080/tfs/DefaultCollection).

Opción

Opción

Descripción

/keephistory

Opcional. Especifica que el historial de un archivo se conserva incluso cuando se destruye su contenido. No se puede especificar con la opción /preview.

/stopat

Opcional. Solo se puede usar si también se especifica /keephistory.

Especifica la versión del archivo y los archivos siguientes, para los que se conserva el historial.

La versión predeterminada de /stopat es tip (T) para la versión de entrada de seguridad más reciente de un elemento.

No puede usar valores label o workspace versionspec para especificar un elemento para la opción /stopat.

/preview

Muestra en la ventana símbolo del sistema los archivos que se destruirían. Cuando tf destroy se ejecuta en el modo de versión preliminar, los archivos no se destruyen realmente.

Nota

El texto de la ventana del símbolo del sistema muestra la palabra "Destroyed" (Destruir) con cada archivo que se destruiría. Sin embargo, el archivo no se destruye realmente cuando se usa la opción /preview.

/startcleanup

Obliga a que el proceso de limpieza de metadatos de TFVC se inicie inmediatamente después de que finalice la eliminación. Si el usuario no especifica /startcleanup, el proceso de limpieza de metadatos destructores se produce cuando el mantenimiento de la base de datos limpia todos los archivos a los que ya no hace referencia Visual Studio Team Foundation Server. De forma predeterminada, la limpieza está programada para ejecutarse cada 5 días. Siete días después de limpiar los metadatos de TFVC, otro proceso de limpieza eliminará el contenido. De forma predeterminada, este proceso de limpieza de contenido se ejecuta una vez al día.

/noprompt

/i

Especifica que la destrucción de archivos no es interactiva. /i es un alias para /noprompt.

/silent

Especifica que, al destruir archivos o carpetas, la salida no se escribe en la ventana del símbolo del sistema.

/login

Especifica el nombre de usuario y la contraseña para autenticar al usuario con Team Foundation Server.

/collection

Especifica la colección de proyectos.

Observaciones

Cuando se usa tf destroy para destruir archivos de control de versiones, el nivel de aplicación de Team Foundation Server recibe la solicitud de destrucción y comprueba si es miembro del grupo de seguridad Administradores de Team Foundation. Si no es miembro, el sistema muestra un cuadro de diálogo de mensaje de error que le indica que no tiene permisos suficientes para realizar la operación.

Después de que el sistema compruebe los permisos, ejecuta el comando destroy. Este comando elimina todas las referencias de archivo, los conjuntos de cambios y los cambios pendientes. La destrucción real de archivos, que es una eliminación permanente, se produce la próxima vez que se limpia el contenido al que ya no hace referencia Team Foundation Server de archivos. También puede especificar la opción /startcleanup para limpiar los archivos inmediatamente después de que se ejecute tf destroy.

Si ejecuta tf destroy sin especificar /i y /preview,el sistema muestra un mensaje sí o no de consola para cada valor filespec. De lo contrario, puede especificar Sí a todos los. Si no especifica /keephistory, se le pedirá un texto interactivo que advierte de los cambios pendientes, si existen. El texto interactivo apunta a /preview si desea obtener más información sobre los cambios. Si especifica /keephistory, también se le pedirá el texto Sí,Noo Todo. Si selecciona oTodo , se inicia el proceso de destrucción y las rutas de acceso del servidor a los elementos eliminados aparecen en la ventana símbolo del sistema.

Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...

Si especificó el valor versionspec como sugerencia, las rutas de acceso del servidor que se muestran en la ventana símbolo del sistema incluyen los IDs de eliminación. Por ejemplo, X123 podría aparecer en la ventana del símbolo del sistema.

Si usa la opción /preview, los archivos no se destruyen, pero el texto de la línea de comandos muestra los archivos que se destruirían. Por ejemplo, si, en la línea de comandos, escribe tf destroy /preview $/Test1/MyProject/MyProject/Program.cs, la ventana de comandos muestra este texto:

Destroyed: $/Test1/MyProject/MyProject/Program.cs

Sin embargo, el archivo no se destruye realmente porque usó la opción /preview.

Para obtener más información sobre cómo buscar la utilidad de línea de comandos tf, vea Uso de comandos de control de versiones de Team Foundation.

Efectos de /keephistory en otras operaciones de control de versiones

Si especifica la opción /keephistory para conservar el historial de archivos destructores, los archivos se tratan como destructores por las siguientes operaciones de control de versiones de Team Foundation:

  • Cambiar contenido Si intenta cambiar el contenido de un archivo destructor, por ejemplo, editar o bifurcar, el sistema emite un mensaje de error que indica que el contenido se ha destruido.

  • Bifurcación, combinación o desaseche Si intenta bifurcar, combinar o deshacer la destrucción de elementos, el sistema emite un mensaje de error que indica que se ha destruido el contenido de los elementos.

Destruir elementos eliminados previamente

Si ya se ha eliminado un elemento, se le adjunta un identificador de eliminación y se produce un cambio en el nombre de archivo.

Code Search no controla las notificaciones DE TF DESTROY, por lo que el uso de TF DESTROY para repositorios TFVC no eliminará automáticamente los archivos del índice de búsqueda. Como resultado, estos archivos aparecen en los resultados de búsqueda de código. Para evitar estos escenarios de archivos fantasma, se recomienda a los usuarios eliminar archivos antes de la operación de TF DESTROY.

Ejemplos

Descripción

En el ejemplo siguiente se elimina permanentemente el archivo a.cs.

Código

C:\pi\ws1>tf destroy $/proj/pi/a.cs

Descripción

En el ejemplo siguiente se elimina una carpeta, aFolder, de tipo en la línea de comandos:

Código

C:\tf delete $/MyTeamProject/aFolder

Descripción

Para destruir el elemento eliminado, aFolder, debe escribir en la línea de comandos:

Código

tf destroy $/MyTeamProject/sFolder;x123

Donde x123 es el identificador de eliminación.