Tengo un montón de carpetas de control de origen para las que quiero deshacerme de todos los elementos que ya no se necesitan. Estos elementos se han eliminado (el código se ha movido o reescrito) y, como la mayoría de nosotros usamos la opción 'Mostrar elementos eliminados', algunas de estas carpetas ahora muestran más elementos y carpetas eliminados y artículos legítimos. Quiero asegurarme de que todo este código redundante se haya ido para siempre, ya que definitivamente nunca será necesario. Estos son proyectos nuevos que se están construyendo a partir de ramas de otros más antiguos que, hasta el momento, nadie está usando.TFS 2008 Source Control: forma rápida de destruir todos los elementos eliminados
Hay una gran cantidad de archivos distribuidos en varias carpetas, así que prefiero evitar tener que hacer cada uno individualmente. También estoy en la línea de comandos, sin usar la API.
Lo sé en última instancia, necesitaré el comando tf destroy
.
También sé que tf dir [wildcard] /recursive /deleted
devolverá todos los elementos eliminados dentro de una ruta (lamentablemente junto con todos los artículos legítimos).
¿Alguien puede pensar en una buena manera de hacer esto rápidamente?
he pensado en dos soluciones:
1) Tomar la salida del comando dir y encontrar todos los artículos que tienen :Xnnnnnnn
después - estos son los elementos eliminados; luego simplemente escupir un montón de tf destruir llamadas, o construir un archivo de respuesta (aunque no estoy seguro de este bit). Esto suena como un uso potencial para Powershell, pero aún no ha hecho nada con eso ...
2) Prepara todos los proyectos, y luego simplemente destrúyelos de TFS y luego vuelve a agregarlos para que solo las cosas requeridas están entonces en TFS. Sin embargo, esto elimina la relación de sucursal, lo que podría ser útil porque durante un tiempo tendré que mantener dos versiones de algunas de estas bibliotecas (pre y post actualización). No es ideal, pero no puedo hacer nada al respecto.
Obviamente, la Opción 2 es una trampa, pero funcionará. Idealmente, me gustaría tener un script reutilizable que se pueda usar para cualquier carpeta en TFS en el futuro (un par de otros equipos tienen otros proyectos de larga duración que podría hacer con una purga completa!).
Gracias de antemano.
Puede intentar realizar programáticamente la versión 'get specific version: changeset 1' clean, seguida de una get latest. http://www.woodwardweb.com/tfs_top_tip/tfs_top_tip_11.html – user423430