2013-02-08 8 views
8

Ho qualche 3rd DLL partito controllato in TFS
Le nostre macchine sono stati rinominati e ora TFS crede che sono controllati per modifica di me su un'altra macchina.file di TFS deve rimanere bloccata

ho cercato tf lock /lock:none contrib64/* /workspace:oldmachine;myusername ma ottengo l'errore

TF10152: The item $/XXX/YYYY/contrib64/third_party.dll must remain locked because its file type prevents multiple check-outs.

1, C'è un modo per aggirare questo?
2, TFS è davvero così male o sono solo io?
3, lo scopo di TFS è di farci nostalgici per VSS?

ps Si tratta di una versione ospitata in modo che non sia possibile ottenere l'amministratore per risolvere il problema.

risposta

10

L'annullamento del blocco non funziona su quei file perché sono binari, poiché i file binari non possono essere uniti devono essere bloccati se vengono estratti.

Poiché la macchina su cui si trova l'area di lavoro non esiste più (la macchina è stata rinominata), la cosa migliore da fare è eliminare l'area di lavoro.

da un comando di Visual Studio prompt dei

tf workspace /delete oldmachine;myusername /collection:http://*tfsserver*:8080/tfs/*collection*

Questo eliminerà l'area di lavoro e annullare tutte le modifiche in sospeso

+0

Ho trovato il suggerimento "elimina lo spazio di lavoro", ma il nostro TFS ospitato implicava che l'intera azienda era "uno spazio di lavoro", almeno questo è ciò che definisce l'intera collezione. Ogni macchina + utente è uno spazio di lavoro? –

+0

ps grazie, la logica di checkout/fusione binaria ha davvero senso! –

+0

Ogni utente può avere molte aree di lavoro su molte macchine. Uno spazio di lavoro è il mapping tra una cartella nel controllo del codice sorgente e una cartella sul disco rigido locale. Tecnicamente suppongo che una collezione possa essere pensata come "spazio di lavoro" come termine generale, ma nello spazio di lavoro di TFS ha un significato specifico. per impostazione predefinita quando si crea uno spazio di lavoro il suo nome è machineName; username, un secondo spazio di lavoro sulla stessa macchina sarebbe machineName_1; nome utente è possibile rinominare la prima parte del nome dell'area di lavoro. Elimina il vecchio spazio di lavoro e sarai pronto per partire –

1

I file con estensione .dll così come altre estensioni come .exe, .doc, .docx, ecc. vengono automaticamente bloccati perché (come detto) qui non possono essere uniti.

Se si desidera disattivare il blocco automatico e permettere questi file per passare attraverso il check-in gated, procedere come segue:

  1. Accedi al tuo server di build.
  2. Open visual studio.
  3. In Team Explorer, accedi al progetto del tuo team.
  4. Vai a "Impostazioni".
  5. In "Raccolta progetto team", selezionare "Controllo origine".
  6. Impostare la proprietà "Unione di file" su "Disabilitato" per qualsiasi estensione di file che non si desidera bloccare automaticamente.

Riferimento: https://blogs.msdn.microsoft.com/phkelley/2008/11/12/everything-you-ever-wanted-to-know-about-locks/

Questo ha funzionato per me.

Problemi correlati