Domanda

Qualcuno ha lasciato l'organizzazione ma prima di andarsene ha bloccato tutti i file per un motivo sconosciuto.

Come si sbloccano tutti in modo che gli altri sviluppatori possano lavorare?

È stato utile?

Soluzione

Per la seguente operazione, dovrai essere un amministratore di progetto per il progetto su cui desideri annullare il check-in o un amministratore di Team Foundation se vuoi farlo in tutti i progetti.

Se hai ancora il nome utente della persona, puoi semplicemente fare qualcosa del genere:

  • Apri il prompt dei comandi di Visual Studio (Start - > Programmi - > Microsoft Visual Studio 200X - > Strumenti di Visual Studio - > Prompt dei comandi di Visual Studio 200X)
  • Esegui il seguente comando:
  

tf lock / lock: nessuno   / Spazio di lavoro: WorkspaceName; USERNAME   / ricorsivo $ /

Per ottenere l'elenco delle aree di lavoro per un utente, basta eseguire il comando seguente dallo stesso prompt:

  

aree di lavoro tf / proprietario: nome utente

Per ulteriori comandi, seleziona tf /?

Altri suggerimenti

Se lo sviluppatore ha abbandonato l'organizzazione, la cosa migliore da fare è eliminare le aree di lavoro. Questo sbloccherà i file per te ma libererà anche alcune risorse sul server.

Vedi il seguente post sul blog che ho fatto sull'argomento quando mi è successo qualche anno fa.

http://www.woodwardweb.com/vsts/unlocking_files.html

Puoi eliminare l'area di lavoro usando la riga di comando (tf.exe) oppure puoi usare l'eccellente TFS Sidekicks di Attrice.

Questo è stato l'unico modo per risolverlo, che ha comportato l'eliminazione dell'area di lavoro dell'utente:

http://2toad.com/Blog/ 2012/1 / 27 / how-to-manage-TFS-aree di lavoro

Se il messaggio di errore indica " L'articolo $ / ... è bloccato per il check-out da someUser: 1 nello spazio di lavoro someMachine123. " quindi uso il comando:

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1

Esiste un solo spazio tra l'URL della raccolta e someMachine123;someUser:1.

Nota che ho prestato attenzione al fatto che il messaggio di errore menzionava l'utente come someUser:1, quindi l'ho imitato nel comando. Non è stato sufficiente eseguire il comando solo con someUser. Non sono sicuro di cosa sia il: 1 ma punto, imita il messaggio di errore.

Nota che il server deve essere il percorso di raccolta completo, che puoi trovare andando alla Console di amministrazione di Team Foundation Server - > Livello applicazione - > Raccolte di progetti di gruppo, il riquadro inferiore mostrerà un URL per la raccolta che è selezionato nel riquadro superiore.

Ho anche avuto un problema perché ho tentato accidentalmente di utilizzare il plurale workspaces anziché solo workspace perché esiste un comando simile che è il plurale.

per prima cosa devi avere il diritto di farlo. Se hai quello più semplice è usare i sidekick di TFS da attrice http://www.attrice.info/ cm / TFS /

Avevo bisogno di aggiungere / collection: collectionURL altrimenti non è stato possibile trovare lo spazio di lavoro:

  • Voce di elenco

tf loc / lock: none / workspace: WorkspaceName; UserName / collection: collectionURL

Ecco una spiegazione sull'uso delle autorizzazioni TFS.

  

Avere il " Sblocca le modifiche di altri utenti "   è necessario il permesso impostato su Consenti   rimuovere un blocco tenuto da un altro utente.

Chiedi a un amministratore di sistema di reimpostare la password dell'utente, accedere come tale utente, sbloccare tutti i file ...

Penso che questa sia la soluzione a quasi tutte le domande "qualcuno che non è più a questa organizzazione" ...

È meglio eliminare l'area di lavoro di quell'utente dal server. Esempio

area di lavoro tf / delete / server: area di lavoro your_tfs_server; nome utente

A volte si tratta di mascherare un problema diverso con un'applicazione completamente diversa bloccata da un altro utente, ma non è nemmeno possibile creare una nuova cartella per il nuovo progetto in cui si desidera unire (la destinazione non consente la creazione e afferma erroneamente che qualcuno ha un file bloccato nel suo nome) ma poi scavi più a fondo e un altro progetto è il colpevole.

Quindi un progetto completamente diverso può essere il problema con i file bloccati da qualcun altro.

Metodo che ha funzionato per me, il mio account ha il permesso di amministratore su TFS e progetto:

In Visual Studio 2015:

  1. Vai a Team Explorer
  2. Fai clic con il pulsante destro del mouse sulla soluzione e scegli Apri nel controllo del codice sorgente exporer
  3. Sul lato sinistro fare clic con il tasto destro sulla soluzione
  4. Scegli Avanzate
  5. Scegli Blocca ...
  6. Sul lato sinistro fare clic con il tasto destro sulla soluzione
  7. Scegli Avanzate
  8. Scegli Sblocca (Ora puoi scegliere di sbloccare)

In questo momento, ogni sviluppatore può facilmente eseguire il commit delle proprie modifiche :)

Utilizza questa soluzione come ultima risorsa .

I & # 8217; m usando TFS 2012. Sono andato al database TFS ed ho eseguito le seguenti query. E ha funzionato! Ovviamente fai molta attenzione quando si scherza con il database, si eseguono backup, ecc.

Il database si chiama Tfs _ < < your_TFS_collection_name > > . Ignora il database Tfs_Configuration MSSQL. Non sono sicuro, ma se non si dispone di un Tfs _ & Lt; & Lt; your_TFS_collection_name & Gt; & Gt; , le impostazioni potrebbero trovarsi nel < em> database Tfs_DefaultCollection . I blocchi sono archiviati in tbl_PendingChange.LockStatus .

/*Find correct row*/
SELECT LockStatus, PendingChangeId, *
FROM tbl_PendingChange
WHERE TargetServerItem like '%<<fileName>>%'

/*Set lock status to NULL (mine was set to 2 initially)*/
UPDATE tbl_PendingChange SET LockStatus = NULL WHERE
TargetServerItem like '%<fileName>>%'
AND PendingChangeId = <<PendingChangeId from above>>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top