20 de jul. de 2011

Gerenciando Workspaces no TFS

Pessoal, estou aproveitando essa minha volta ao blog para torná-lo mais constante, com mais postagens. Para fazer isso estou escrevendo dicas sobre o trabalho que executo como arquiteto de software na área de ALM com a plataforma do Microsoft Visual Studio Team Foundation (TFS). E estou escrevendo essas dicas de uma forma mais objetiva e resumida, com textos mais curtos e focados.

Antes a perfeição pelos textos longos e complexos abatia meu entusiasmo, e como dizem: o perfeito é inimigo do bom. Agora que superei isso, lá vai:

Workspace, como o nome já diz, são espaços de trabalho que o Version Control vincula a um usuário e máquina. Assim quando o usuário "empresa\Astoufo" baixa um código fonte no computador com nome "EstacaoTrabalho22", será criado esse workspace: "EstacaoTrabalho22;empresa\Astoufo". É possível que um usuário tenha vários workspaces:

workspacedropdown_sce_thumb

edit_publiclimited_thumb

Assim, toda vez que for necessário baixar um código do Source Control para uma máquina diferente, é criado esse espaço de mapeamento local, onde os arquivos estarão disponíveis para o trabalho, e depois de tudo pronto, as alterações serão sincronizadas com o servidor (check-in). Esse local é um workspace.

Hoje no trabalho, um colaborador da equipe de desenvolvimento me procurou. Ele me relatou que estava assumindo uma antiga máquina, de um desenvolvedor que já havia se desligado, e ao tentar baixar o código fonte do projeto para a máquina, houve um conflito de workspace, pois o workspace do antigo funcionário estava vinculado para aquela máquina. Algo como isso:

clip_image001_2

Nessa hora entra em ação esses dois comandos do TFS:

  • tf workspaces: mostra informações dos workspaces.
  • tf workspace: manipula workspaces (cria, apaga etc.).

É necessário estar no prompt do Visual Studio para executar esses comandos, onde são carregados funcionalidades inerentes ao TFS.

image

Então executamos o seguinte comando para listar os workspaces de um determinado login:

tf workspaces /owner:domínio\usuário

Após analisar a lista, exclua os workspaces necessários com esse comando:

tf workspace /delete /collection:http://servidordotfs:8080/tfs/defaultcollection NOME_DO_COMPUTADOR;domínio\usuário

Assim temos um usuário satisfeito, nesse caso o desenvolvedor, e a limpa do(s) workspace(s) necessário(s), como mostrado na próxima imagem:

20-07-2011 16-13-22

Repare pela seta na parte inferior da imagem, que é possível verificar se há pendencias (arquivos que ainda estão em "check-out"). Nesse caso não havia, mas caso houvesse é possível "liberar" as pendências… Mas isso fica para um futuro post Alegre

0 comentários: