Como fazer undo-checkout em arquivos de um outro usuário
Hoje tivemos que remover os arquivos que estavam em checkout para uma das pessoas que trabalham com a gente. Só que o detalhe é que a máquina que essa pessoa usou para fazer o checkout, e consequentemente as informações que ficam no workspace, não estavam mais disponíveis (a máquina foi trocada, e a antiga sabe-se lá onde está).
Então, como desfazer os checkouts existentes?
A maneira que encontramos foi, utilizando um usuário administrador dentro do team project, fazer a remoção do checkout através de linha de comando (tf.exe).
Primeiramente, buscamos o nome do workspace que estava associado ao usuario, através do comando abaixo. Retornaram duas ocorrências, que são a máquina antiga e a máquina nova. Essa informação será importante depois.
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>tf workspaces /owner:acroberto Collection: tfs.intra.cliente.com.br\TPC
Workspace Owner Computer Comment
------------- --------- ------------- -----------------------------------------
ESTACAO18 acroberto ESTACAO18
ESTACAO19 acroberto ESTACAO19
Em seguida, fizemos uma listagem dos arquivos que estavam em checkout no team project (chamamos de SISTEMA). Veja que jogamos o resultado da consulta em um arquivo texto dentro do c:\.
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>tf status $/SISTEMA /recursive /user:* /server:tfs.intra.cliente.com.br\TPC >> c:\tf.log
Ignoring the /server option.
Agora vem o comando importante. Usando o nome do workspace + login do usuário + diretório base a partir de onde os arquivos com checkin se encontravam, executamos o comando tf undo. Note o uso do parâmetro /recursive, que faz com que seja feita a busca em todas as subpastas do diretório inicial.
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>tf undo /workspace:ESTACAO18;acroberto $/SISTEMA/CLIENTE-SISTEMA-interno /recursive
Pronto, os arquivos foram liberados, efetuando o undo-checkout. Para conferir, rodei novamente o comando tf status, para pegar todos os arquivos em checkout. Só sobrou um que eu mesmo estava trabalhando.
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>tf status $/SISTEMA /recursive /user:* /server:tfs.intra.cliente.com.br\TPC
Ignoring the /server option.
File name Change User Local path ----------------- ------ ------- ----------------------------------------------
$/SISTEMA/CLIENTE-SISTEMA-interno/CLIENTE.SISTEMA.Batch
AtualizarDados.cs ! edit falgouw C:\Documents and Settings\FALGOUW\My Documents\Projetos\SISTEMA\CLIENTE-SISTEMA-interno\CLIENTE.SISTEMA.Batch\AtualizarDados.cs
1 change(s)
[]’s
Comentários
Postar um comentário