Partilhar via


Compreender os tipos de bloqueio

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Você pode usar o comando Team Foundation Version Control (TFVC) lock para impedir temporariamente que alterações sejam feitas em um determinado arquivo ou pasta no servidor de controle do código-fonte. Esse recurso pode ser útil se você quiser alterar um item em seu espaço de trabalho e, em seguida, fazer check-in sem ser forçado a resolver conflitos de mesclagem. Apenas um usuário de cada vez pode manter um bloqueio em um determinado arquivo ou pasta. Se quiser bloquear o acesso a um item de forma persistente, use o comando Permissão.

Tipos de bloqueio

O Azure DevOps fornece dois tipos de bloqueios: bloqueios de check-in e bloqueios de check-out.

Bloqueio de check-in

Um bloqueio de check-in é menos restritivo do que um bloqueio de check-out. Quando você aplica um bloqueio de check-in, os usuários podem continuar a fazer alterações locais no item bloqueado em outros espaços de trabalho. Mas essas alterações não podem ser verificadas até que você remova o bloqueio executando uma das seguintes ações:

  • Remover explicitamente o bloqueio de check-in do item
  • Remova implicitamente o bloqueio verificando suas alterações no arquivo

Bloqueio de check-out

No Azure DevOps, os bloqueios de check-out geralmente não são eficazes devido aos espaços de trabalho locais. Para obter mais informações, consulte Decidir entre usar um espaço de trabalho local ou de servidor. Especificamente, os bloqueios de check-out são:

  • Não aplicável porque outros usuários podem estar usando espaços de trabalho locais.
  • Não disponível se você usar um espaço de trabalho local.
  • Desabilitado se um membro do grupo de segurança Administradores da sua coleção de projetos tiver habilitado o check-out assíncrono para os espaços de trabalho do servidor da sua equipe.

Um bloqueio de check-out impede que os usuários que usam espaços de trabalho do servidor façam check-out e alterações no item bloqueado em seus espaços de trabalho. Não é possível aplicar um bloqueio de check-out a um item para o qual existam alterações pendentes em qualquer espaço de trabalho que não seja o seu.

Como funciona o bloqueio

Se for feito check-out de um arquivo quando você bloqueá-lo, seu registro de check-out será modificado para conter o novo tipo de bloqueio. Se não for feito check-out do arquivo, uma alteração de bloqueio será adicionada ao conjunto de alterações pendentes do espaço de trabalho. Ao contrário do checkout comando, o lock comando não torna um arquivo editável automaticamente.

O TFVC desbloqueia um item automaticamente quando você faz check-in de alterações pendentes no espaço de trabalho onde ele está bloqueado. Os bloqueios também são liberados se as alterações pendentes de um arquivo forem desfeitas usando o undo comando.

Os bloqueios em pastas são implicitamente recursivos. Se você bloquear uma pasta, não precisará bloquear os arquivos que ela contém. Uma exceção é quando uma pasta tem um bloqueio de check-in, que é menos restritivo do que um bloqueio de check-out. Se você quiser usar um bloqueio de check-out em um arquivo nessa pasta, precisará aplicar esse bloqueio de check-out.

Apenas um usuário de cada vez pode manter um bloqueio em um determinado arquivo ou pasta. Você pode usar o comando Status para ver quais arquivos estão bloqueados no servidor de DevOps do Azure e quem os bloqueou.

Uma fechadura pode ser colocada como sua própria operação ou como parte de várias outras operações. Essas operações incluem rename, checkout, delete, undelete, merge, branche add. Quando você bloqueia um item como parte da adição ao controle do código-fonte ou ramificação, o TFVC coloca o bloqueio no caminho do servidor onde o novo item é criado. Esse posicionamento impede que outro usuário adicione ou ramifique um arquivo para o mesmo local. Quando você bloqueia um item usando o rename comando, os caminhos do servidor antigo e novo são bloqueados.

Desbloquear um item

Você pode desbloquear um item explicitamente usando o unlock comando ou implicitamente ao fazer check-in. Quando você faz check-in de alterações pendentes em um item bloqueado, o Azure DevOps remove todos os bloqueios.

Nota

Por padrão, a permissão UnlockOther é concedida apenas aos administradores. Se você tiver a permissão UnlockOther , poderá remover um bloqueio de um item no espaço de trabalho de outro usuário usando o comando Lock.