Come annullare il checkout di un altro utente in TFS?


95

In qualità di amministratore TFS residente, a volte mi viene chiesto di annullare un checkout (di solito un blocco) che un utente ha su un determinato file controllato nel controllo del codice sorgente.

Come si annulla il checkout di un altro utente?

Risposte:


144

Esistono almeno 2 modi diversi per farlo:

Riga di comando

C'è un'utilità della riga di comando chiamata Tf.exe fornita con Team Explorer. Trova la documentazione qui . È possibile accedervi avviando una finestra del prompt dei comandi di Visual Studio. La sintassi del comando è:

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

Per un file

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

GUI

Il secondo è tramite la GUI, ma non è di serie: è necessario installare TFS Power Tools . Vedi qui per i dettagli su come utilizzare questo metodo.

Tieni presente che con entrambi i metodi avrai bisogno dei diritti appropriati. Le autorizzazioni si chiamano "Annulla le modifiche di altri utenti" e "Sblocca le modifiche di altri utenti". Queste autorizzazioni possono essere visualizzate da:

  1. Fare clic con il pulsante destro del mouse sul progetto, sulla cartella o sul file desiderati in Esplora controllo del codice sorgente
  2. Seleziona Proprietà
  3. Seleziona la scheda Protezione
  4. Seleziona l'utente o il gruppo appropriato nella sezione Utenti e gruppi in alto
  5. Visualizza la sezione "Autorizzazioni per [utente / gruppo]:" in basso

Eliminazione dell'area di lavoro

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 

Per me il comando tf undo / workspace: mydesk * .sdf riporta "Nessuna modifica in sospeso" ma non annulla il check-out (blocco)
dumbledad

Ho dimenticato il percorso del server TFS prima del mio itempec * .sdf, pensavo che avrebbe funzionato dalla directory corrente. La riga di comando che dai funziona per me ora.
Dumbledad

1
Assicurati di utilizzare le virgolette intorno ai percorsi con spazi, altrimenti potresti ricevere un messaggio del tipo: "Nessuna modifica in sospeso trovata per $ / xxx"
PeterX

Come trovo il nome dell'area di lavoro? Vedo che posso eseguire: tf workspaces / owner: [altro utente] / server: [server], ottengo un elenco di quattro aree di lavoro dell'utente, ma come faccio a sapere quale area di lavoro è per il file?
PeterX

1
PeterX, puoi vedere l'area di lavoro accedendo al file in Esplora soluzioni di Visual Studio, fai clic con il pulsante destro del mouse sul file bloccato e seleziona Proprietà, quindi nella scheda Stato hai informazioni sull'area di lavoro e sull'utente che ha bloccato il file
Dante

36

Il modo più semplice che ho trovato è utilizzare l' applicazione gratuita TFS Sidekick . Ha un'opzione per visualizzare e annullare il checkout di altri utenti.


5
È sotto "Status Sidekick". Cerca, seleziona file, annulla.
Wolf5

Se l'utente ha lasciato l'azienda, è necessario conoscere il nome utente di Active Directory (che non è sempre uguale al nome e / o al cognome dell'utente). La mia azienda assegna nomi utente numerati, quindi ho dovuto cercare l'utente in pensione prima di poterlo cercare in VS o in Status TFS Sidekick.
Zephan Schroeder

Questo ha funzionato sorprendentemente. molto più facile che cercare di capire i nomi degli spazi di lavoro e simili utilizzando lo strumento della riga di comando.
Bo Flexson

28

Ho avuto questo problema da solo e ho trovato un modo più semplice per ripulire i vecchi spazi di lavoro.

  1. In Visual Studio, apri Esplora controllo del codice sorgente .

  2. Dal menu a discesa "Area di lavoro" seleziona " Aree di lavoro ... "

  3. Apparirà una finestra di dialogo che mostra gli spazi di lavoro sul tuo attuale PC. Seleziona " Mostra aree di lavoro remote "

  4. Ora vedrai anche le aree di lavoro del tuo PC precedente (purché provengano dallo stesso account utente). Seleziona le vecchie aree di lavoro e fai clic su " Rimuovi ". Questo dovrebbe eliminare il vecchio spazio di lavoro da TFS insieme a eventuali checkout persistenti.

Sono sicuro che Arne abbia trovato una soluzione, ma spero che questo aiuti gli altri che hanno google il problema.


7
Funziona bene se sei il proprietario dell'area di lavoro, soprattutto per ripulire il tuo attuale elenco di aree di lavoro. Non così buono per eliminare le aree di lavoro di altri utenti o i blocchi di checkout :-).
Zephan Schroeder

Concordato. Funziona bene per eliminare i tuoi blocchi di checkout da un altro PC.
Chris

1
Giusto, ma la domanda è specifica per sbloccare i file estratti da un utente DIVERSO.
BrainSlugs83

9

Seleziona il tuo file in TFS sidekick, quindi sopra l'elenco, hai un "annulla modifica in sospeso". Cliccaci sopra e la modifica verrà annullata :) L'icona è simile all'icona "Annulla" in MS Word Ottieni sidekicks TFS da http://www.attrice.info/cm/tfs/index.htm


Strumento più semplice da usare. Mi ha davvero aiutato ad annullare un cambiamento a livello di soluzione che un ex lavoratore aveva verificato
Vishnoo Rath
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.