Informazioni sui tipi di blocco

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

È possibile usare il comando controllo della versione di Team Foundation (TFVC) lock per impedire temporaneamente di apportare modifiche a un file o a una cartella specifica nel server di controllo del codice sorgente. Questa funzionalità può essere utile se si vuole modificare un elemento nell'area di lavoro e quindi archiviarlo senza dover risolvere eventuali conflitti di merge. Solo un utente alla volta può contenere un blocco su un determinato file o cartella. Se si vuole bloccare l'accesso a un elemento in modo permanente, usare invece il comando Permission .

Tipi di blocco

Azure DevOps offre due tipi di blocchi: blocchi di archiviazione e blocchi di estrazione.

Blocco archiviazione

Un blocco di archiviazione è meno restrittivo di un blocco di estrazione. Quando si applica un blocco di archiviazione, gli utenti possono continuare a apportare modifiche locali all'elemento bloccato in altre aree di lavoro. Tuttavia, queste modifiche non possono essere archiviate finché non si rimuove il blocco eseguendo una delle azioni seguenti:

  • Rimuovere in modo esplicito il blocco di archiviazione dall'elemento
  • Rimuovere in modo implicito il blocco archiviando le modifiche apportate al file

Blocco di estrazione

In Azure DevOps i blocchi di estrazione non sono in genere efficaci a causa delle aree di lavoro locali. Per altre informazioni, vedere Decidere tra l'uso di un'area di lavoro locale o server. In particolare, i blocchi di estrazione sono:

  • Non applicabile perché altri utenti potrebbero usare aree di lavoro locali.
  • Non disponibile se si usa un'area di lavoro locale.
  • Disabilitato se un membro del gruppo di sicurezza Amministrazione istrators della raccolta di progetti ha abilitato il checkout asincrono per le aree di lavoro server del team.

Un blocco di estrazione impedisce agli utenti che usano aree di lavoro server di estrarlo e apportare modifiche all'elemento bloccato nelle aree di lavoro. Non è possibile applicare un blocco di estrazione a un elemento per cui esistono modifiche in sospeso, in qualsiasi area di lavoro diversa da quella personalizzata.

Funzionamento del blocco

Se un file viene estratto quando viene bloccato, il relativo record di estrazione viene modificato in modo da contenere il nuovo tipo di blocco. Se il file non è estratto, viene aggiunta una modifica di blocco al set di modifiche dell'area di lavoro in sospeso. A differenza del checkout comando, il lock comando non rende automaticamente modificabile un file.

TFVC sblocca automaticamente un elemento quando si controllano le modifiche in sospeso nell'area di lavoro in cui è bloccato. I blocchi vengono rilasciati anche se le modifiche in sospeso per un file vengono annullate tramite il undo comando .

I blocchi sulle cartelle sono ricorsivi in modo implicito. Se si blocca una cartella, non è necessario bloccare i file che contiene. Un'eccezione è quando una cartella ha un blocco di archiviazione, che è meno restrittivo di un blocco di estrazione. Se si desidera utilizzare un blocco di estrazione in un file in tale cartella, è necessario applicare tale blocco di estrazione.

Solo un utente alla volta può contenere un blocco su un determinato file o cartella. È possibile usare il comando Status per vedere quali file sono bloccati nel server Azure DevOps e chi li ha bloccati.

Un blocco può essere posizionato come propria operazione o come parte di diverse altre operazioni. Queste operazioni includono rename, checkout, undeletedelete, merge, , branche add. Quando si blocca un elemento come parte dell'aggiunta al controllo del codice sorgente o alla diramazione, il controllo della versione di Team Foundation posiziona il blocco sul percorso del server in cui viene creato il nuovo elemento. Questo posizionamento impedisce a un altro utente di aggiungere o di diramare un file nella stessa posizione. Quando si blocca un elemento usando il rename comando , i percorsi del server precedenti e nuovi vengono bloccati.

Sbloccare un elemento

È possibile sbloccare un elemento in modo esplicito usando il comando o in modo implicito quando si esegue l'archiviazione unlock . Quando si controllano le modifiche in sospeso a un elemento bloccato, Azure DevOps rimuove tutti i blocchi.

Nota

Per impostazione predefinita, l'autorizzazione UnlockOther viene concessa solo agli amministratori. Se si dispone dell'autorizzazione UnlockOther , è possibile rimuovere un blocco da un elemento nell'area di lavoro di un altro utente usando il comando Blocca.