Comando Destroy (Control de versiones de Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Use el comando tf destroy para destruir, o eliminar permanentemente archivos controlados por versiones de Control de versiones de Team Foundation (TFVC).

Nota:

No se permite eliminar un repositorio TFVC dentro de Azure Devops una vez creado. El comando tf destroy solo destruirá, o eliminará permanentemente, archivos o carpetas controlados por versiones, pero no eliminará el repositorio TFVC. Seguirá apareciendo en la lista de opciones con el mensaje eliminado.

A veces tiene que limpiar los sistemas de control de versiones. Por ejemplo, si algunos archivos están infectados con un virus informático, tiene que quitarlos permanentemente del control de versiones. No destruya los archivos que todavía son necesarios. La acción de destrucción no se puede invertir.

Antes de ejecutar tf destroy sin la opción /keephistory, elimine los archivos que quiere destruir. Para obtener más información, consulte Eliminar o restaurar archivos y carpetas en TFVC.

Después de eliminar los archivos, puede sincronizar el almacén de TFVC. De lo contrario, el almacén no se sincronizará con los elementos destruidos.

Requisitos previos

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

Sintaxis

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

Parámetros

Argumentos

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 /keephistory o /stopat. Los valores permitidos son date, tip o un conjunto de cambios específico. Para más información sobre cómo TFVC analiza una especificación de versión para determinar qué elementos están dentro de su ámbito, consulte Usar los comandos del control de versiones de Team Foundation.

<username>

Proporciona un valor a la opción /login. Puede especificar un valor username como DOMAIN\username o username.

TeamProjectCollectionUrl

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

Opciones

Opción

Descripción

/keephistory

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

/stopat

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

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

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

No puede usar valores de etiqueta o área de trabajo versionspec para especificar un elemento para la opción /stopat.

/preview

Muestra los archivos que se destruirían en la ventana del símbolo del sistema. Cuando tf destroy se ejecuta en modo de vista previa, los archivos no se destruyen realmente.

Nota:

El texto de la ventana del símbolo del sistema muestra la palabra Destruido con cada archivo que se destruiría. Pero el archivo no se destruye realmente cuando se usa la opción /preview.

/startcleanup

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

/noprompt o /i

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

/silent

Especifica que, al destruir archivos o carpetas, el resultado 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 TFVC.

/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 TFVC 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.

Una vez que el sistema comprueba los permisos, ejecuta el comando destroy. Este comando elimina todas las referencias de archivos, los conjuntos de cambios agregados pendientes de confirmación 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 Azure DevOps Server. También puede especificar la opción /startcleanup para limpiar los archivos inmediatamente después que se ejecute tf destroy.

Si se ejecuta tf destroy sin especificar /i y /preview, el sistema muestra una consola o No para cada filespec valor. De lo contrario, puede especificar Sí a todo.

  • Si no especifica /keephistory, le pedirá confirmación un texto interactivo que avisa de los cambios pendientes, si existen. El texto interactivo apunta a /preview si quiere obtener más información sobre los cambios.

  • Si especifica /keephistory, también se le pedirá confirmación con un texto , No o Sí a todo. Si selecciona o Sí a todo, se inicia el proceso de destrucción y las rutas de acceso del servidor a los elementos destruidos aparecen en la ventana del símbolo del sistema.

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

Si especificó el valor versionspec como tip, las rutas de acceso del servidor que se muestran en la ventana del símbolo del sistema incluyen identificadores de eliminación. Por ejemplo, Destroyed: $/Test1/MyProject;X123 puede 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 escribe tf destroy /preview $/Test1/MyProject/MyProject/Program.cs en la línea de comandos, la ventana de comandos muestra este texto:

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

Pero el archivo no se destruye realmente porque usó la opción /preview.

Para más información sobre cómo usar la utilidad de línea de comandos tf, consulte Usar los comandos del 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 destruidos, estas operaciones de TFVC tratan a los archivos como destruidos:

  • Change content (Cambiar contenido). Si intenta cambiar el contenido de un archivo destruido, por ejemplo, editar o crear una rama, el sistema emite un mensaje de error que indica que el contenido se ha destruido.

  • Crear una rama, fusionar mediante combinación o recuperar cambios agregados pendientes de confirmación. Si intenta crear una rama, fusionar mediante combinación o recuperar cambios agregados pendientes de confirmación de elementos destruidos, el sistema emite un mensaje de error que indica que se ha destruido el contenido de los elementos.

Destrucción de elementos eliminados anteriormente

Si ya se ha eliminado un elemento, se adjunta un id. de eliminación y se produce un cambio de nombre de archivo.

La búsqueda de código no controla las notificaciones 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 la búsqueda de código. Para evitar estos escenarios de archivos fantasma, elimine los archivos antes de la operación tf destroy.

Ejemplos

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

tf destroy $/proj/pi/a.cs

En este ejemplo se elimina una carpeta, aFolder:

tf delete $/MyTeamProject/aFolder

Para destruir el elemento eliminado aFolder, escriba lo siguiente en la línea de comandos:

tf destroy $/MyTeamProject/aFolder;x123

donde x123 es el id. de eliminación.