2012-05-16 6 views
9

Estoy usando TFS 2010 y escribiendo un script para permitir una obtención simple de la etiqueta de versión específica de nuestro software. Dado que esto es solo un simple get, ¿hay alguna forma de realizar un get sin tener que usar la configuración actual del espacio de trabajo o cambiar la configuración del espacio de trabajo a la ruta deseada? No hay ninguna razón para vincular los archivos a CM después del get, por lo que no tengo ninguna razón para preservar este 'espacio de trabajo'. Solo quiero poder crear un directorio en cualquier lugar que desee y obtener TFS para que me dé una copia de la versión actual con los archivos etiquetados en el directorio actual, o en un directorio que suministre 'sobre la marcha'. Parece que no hay manera de separar un simple obtener de la configuración del espacio de trabajo del proyecto. ¿Me estoy perdiendo algo o me veo obligado a ocultar o cambiar la configuración del espacio de trabajo antes de obtener?Cómo realizar un TFS para obtener una ruta de acceso del directorio actual o suministrada, ignorando la configuración del espacio de trabajo

+0

posible duplicado de [¿Puede hacer un TFS obtener sin necesidad de un espacio de trabajo?] (Http://stackoverflow.com/questions/4712655/can-you-do-a-tfs-get-without-needing-a- espacio de trabajo) –

Respuesta

11

Necesitará un espacio de trabajo para hacer un get, pero no tiene que ser el mismo espacio de trabajo que está utilizando para Visual Studio. De hecho, sólo puede crear un simple espacio de trabajo de usar y tirar, por ejemplo:

tf workspace /new temp_workspace /collection:http://server:8080/tfs/DefaultCollection /noprompt 
tf workfold /map $/Project/Project C:\Build\Project 
tf get C:\Build\Project /recursive /noprompt 
tf workspace /delete temp_workspace /collection:http://server:8080/tfs/DefaultCollection /noprompt 

Tenga en cuenta que el SDK TFS proporciona mecanismos para hacer una descarga de un Item sin necesidad de crear un espacio de trabajo, por lo que podría escribir un programa para hacer esto, pero sería una buena cantidad de código evitar crear un espacio de trabajo que es, en última instancia, una operación bastante barata.

+0

Muchas gracias por esto. Voy a crear un espacio de trabajo temporal, obtener los archivos e inmediatamente eliminar el espacio de trabajo temporal después de una recuperación exitosa de archivos. Sigo pensando que debería haber un cambio de línea de comando para tf get que simplemente establezca esta ubicación de carpeta temporal para usted. El objetivo principal es no adjuntar ninguno de los archivos con un espacio de trabajo, en primer lugar, ya que no se realizarán modificaciones desde esta ubicación. –

+0

@DeanRoberson: punto justo, me aseguraré de que se note. ¡Gracias! –

+1

¿De todos modos para hacerlo completamente desatendido a través de un script? Cada vez que creo un espacio de trabajo (tf workspace/new) obtengo una ventana GUI para verificar la creación del espacio de trabajo. Cada vez que elimino el espacio de trabajo temporal (tf workspace/delete), solicita una respuesta y/n. No vea un interruptor para esto en la documentación de la utilidad de línea de comandos tf. –

Cuestiones relacionadas