2012-02-15 2 views
6

Attualmente ho un server TFS 2010 in esecuzione su SERVER-1. Sul mio client (MY-CLIENT) ho VS2010 in esecuzione e ho uno spazio di lavoro che associa SERVER-1 con \ MY-CLIENT \ Development. Va tutto bene.Come si forza la cancellazione di un'area di lavoro TFS 2010 su un client quando il server TFS non esiste più?

Stavo giocando con l'installazione di una diversa istanza di TFS su SERVER-2. Sul mio client, ho cancellato l'area di lavoro originale di SERVER-1 e ho creato un nuovo spazio di lavoro che associa SERVER-2 a \ MY-CLIENT \ Development. Va tutto bene.

Terminati i miei esperimenti con TFS su SERVER-2, ho rivisitato la macchina (eliminando il server TFS su SERVER-2).

Sono quindi tornato al mio computer client, ricollegato a TFS su SERVER-1 e tentato di rimappare il controllo del codice sorgente nella mia cartella di sviluppo. Tuttavia, sto ricevendo l'errore "Il percorso \ MY-CLIENT \ Development è già mappato nello spazio di lavoro MY-CLIENT; SERVER-2 \ Steve." Ora ho un problema

Quindi, ho dedotto da ciò che avrei dovuto prima cancellare lo spazio di lavoro SERVER-2 PRIMA di ri-immaginare la macchina. Sfortunatamente, non l'ho fatto.

Rovistando in alcuni forum, mi rendo conto che posso utilizzare uno strumento a riga di comando per eliminare forse:

tf workspace /delete MY-CLIENT;SERVER-2\Steve 

Tuttavia, quando ho eseguito questo, ricevo un messaggio che indica che "servizi di Team Foundation non sono disponibili da un server http://SERVER-2:8080/tfs/development. "

quindi la domanda, allora, è come faccio a forzare la cancellazione dello spazio di lavoro SERVER-2 sul mio cliente in modo che possa ricreare il mio vecchio SERVER-1 di lavoro?

risposta

16

I mapping delle cartelle di lavoro per tutte le aree di lavoro locali sono memorizzati nel file della cache di controllo della versione. Ciò consente di eseguire il bootstrap dei client TFS, consentendo loro di localizzare le informazioni sul server per una determinata cartella locale. Inoltre, fornirà le informazioni per questo test che stai vedendo, che impedisce a una cartella locale di essere mappata su due server diversi.

Per pulire questo in su (senza cercare di connettersi al server), è possibile utilizzare il comando tf workspaces (si noti la pluralizzazione - il comando workspaces opera sulla lista delle aree di lavoro, il comando workspace opera su un . workspace e generalmente richiede la connettività al server che di lavoro si trova sulla

per eliminare tutte le aree di lavoro per la vostra collezione progetto eliminato, si può fare:

tf workspaces /remove:* /collection:http://server-2:8080/tfs/DefaultCollection 

(Ovviamente sostituendo l'URI della raccolta del progetto con l'URI per il server eliminato.)

-2

Il parametro workspaceowner sul comando di cancellazione è facoltativo. Puoi emettere l'eliminazione senza quel parametro o questo danneggerà un altro spazio di lavoro MY-CLIENT?

+0

Sarebbe comunque cercare di contattare il server (ora defunta) per eliminare l'area di lavoro dal server. –

1

Ho avuto esattamente lo stesso problema: dopo aver spostato il server TFS su un'altra macchina, non potevo mappare a una cartella locale in VS2012 sul vecchio macchina perché era ancora associata a un vecchio Workspace che TFS negava a tutti l'esistenza.Dopo molte ore (e giorni) alla ricerca di Google e provare cose diverse, nessuna delle quali ha lavorato (tra cui tutti i comandi "TF", cancellando la cache locale, ecc), è così che finalmente risolto:

  1. Modificare il vero e proprio database di raccolta TFS sul server TFS utilizzando SQL Management Studio Express (ad esempio "Tfs_DefaultCollection")
  2. Cercare la tabella "dbo.tbl_Workspace" e modificarlo
  3. si dovrebbe vedere il vostro spazio di lavoro "fantasma" (s) in qui
  4. Elimina le righe
  5. Tutto è giusto nel mondo