Alguns dias atrás um amigo meu pediu uma consultoria informa sobre TFVC do TFS.

Brandão, um dev foi demitido e deixou vários arquivos de código pendentes de check-in, a máquina já foi formatada pela Infra e não dá mais para entrar nela para liberar, o que eu faço?

Essa é uma das perguntas mais recorrentes de administradores de TFS. E não é difícil achar a resposta para ela, por exemplo, neste post, o Vinicius Moura, mostra uma ferramenta visual que ajuda a resolver esse problema, TFS Sidekicks.

Porém, como Administrador do TFS, vamos ver isso pela linha de comando!

Vamos chamar o desenvolvedor dispensado de John Doe. E quem reportou o problema foi o Brian K., aconteceu o seguinte, quando ele foi fazer o check-out do arquivo para edição:

2016-02-04 02_49_41-Greenshot

Abriu uma janela com duas opções:

2016-02-04 02_46_10-Greenshot

Ele escolheu a primeira e tudo deu certo, o arquivo foi marcado como check out, pois não foi preciso criar locks:

2016-02-04 02_47_04-Source Control Explorer - Microsoft Visual Studio

Aparece o sinal vermelho, como um ‘v’, indicando que está em check out, e portanto só prosseguir com a edição.

Se o Brian tivesse escolhido a segunda opção:

2016-02-04 02_42_46-Greenshot

O arquivo iria ser marcado com lock, para impedir outros usuários de editarem o arquivo, e daí o seguinte erro apareceria:

2016-02-04 02_57_38-Greenshot

No primeiro caso o erro iria acontecer quando fosse feito o check in!

Repare que ele indica em qual workspace está o arquivo, neste caso, o próprio nome do workspace é tem o usuário, porém, o usual é os desenvolvedores criarem com o nome da máquina, que é como sugerido na criação, e daí teremos que achar qual é o usuário.

Já está em tempo de resolvermos o problema.

Listando os arquivos pendentes

Utilizando o comando abaixo, faremos uma lista dos arquivos pendentes:

tf vc status /collection:http://vsalm:8080/tfs/fabrikamfibercollection /user:johnd

2016-02-04 05_27_12-Developer Command Prompt for VS2015

Deletando o workspace

Utilizando o comando abaixo vamos apagar o workspace

Entenda que o que será deletado aqui é o link entre os arquivos no servidor e os da máquina do desenvolver, isso é o workspace simplesmente um De – Para

Se a máquina do desenvolvedor existisse ainda, os arquivos não seriam apagados lá, assim como não são apagados no controle de versão. Somente o link entre eles

tf vc workspace /delete /collection:http://vsalm:8080/tfs/fabrikamfibercollection VSALM;johnd

2016-02-04 05_35_54-Developer Command Prompt for VS2015

Você irá precisar confirmar a deleção.

Vez por outra o administrador do TFS precisa executar esse tipo de tarefa.

Emmanuel Brandão