2012-05-16 9 views
9

Sto usando TFS 2010 e sto scrivendo uno script per abilitare una semplice acquisizione dell'etichetta di versione specifica del nostro software. Poiché si tratta di un semplice get, è comunque sufficiente eseguire un get senza dover utilizzare le impostazioni del workspace corrente o modificare le impostazioni dell'area di lavoro sul percorso desiderato? Non c'è motivo di collegare i file a CM dopo l'acquisizione, quindi non ho motivo di conservare questo 'spazio di lavoro'. Voglio solo essere in grado di creare una directory dove voglio e ottenere TFS per darmi una copia dei file con la versione corrente etichettati nella directory corrente, o in una directory che fornisco 'al volo'. Sembra che non ci sia modo di separare un semplice guadagno dalle impostazioni dell'area di lavoro del progetto. Mi manca qualcosa o sono costretto a nascondere o modificare le impostazioni dello spazio di lavoro prima dell'ottenere?Come eseguire un TFS ottenere un percorso di directory fornito o corrente, ignorando le impostazioni dell'area di lavoro

+0

possibile duplicato di [Si può ottenere un TFS senza necessità di un'area di lavoro?] (Http://stackoverflow.com/questions/4712655/can-you-do-a-tfs-get-without-needing-a- spazio di lavoro) –

risposta

11

Avrai bisogno di uno spazio di lavoro per fare un get, ma non è necessario che sia lo stesso spazio di lavoro che stai utilizzando per Visual Studio. In realtà, si può semplicemente creare un semplice spazio di lavoro usa e getta, per esempio:

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 

Nota che il TFS SDK non prevede meccanismi per fare un download di un Item senza la necessità di creare uno spazio di lavoro, così si potrebbe scrivere un programma per fare questo, ma sarebbe una buona quantità di codice per evitare di creare uno spazio di lavoro che è, in definitiva, un'operazione abbastanza economica.

+0

Grazie mille per questo. Vado con la creazione di uno spazio di lavoro temporaneo, ottenere i file e immediatamente eliminare lo spazio di lavoro temporaneo dopo un recupero file riuscito. Continuo a pensare che ci dovrebbe essere un interruttore a linea di comando per tf get che semplicemente imposta questa posizione di cartella temporanea per voi. L'intero scopo è quello di non allegare nessuno dei file con uno spazio di lavoro in primo luogo, dal momento che nessuna modifica sarà mai fatta da questa posizione! –

+0

@DeanRoberson: equo punto, farò in modo che venga notato. Grazie! –

+1

In ogni caso, per rendere questo completamente automatico tramite uno script? Ogni volta che creo uno spazio di lavoro (tf workspace/new) ottengo una finestra GUI per verificare la creazione dello spazio di lavoro. Ogni volta che elimino lo spazio di lavoro temporaneo (tf workspace/delete) richiede una risposta y/n. Non vedere un interruttore per questo nella documentazione dell'utilità della riga di comando tf. –

Problemi correlati