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 Sí 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 Sí, No o Sí a todo. Si selecciona Sí 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.
Efectos de tf destroy en la búsqueda de código del repositorio TFVC
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.