Gerência - Controle de Versão

Controlando Versões: Team Foundation Version Control (TFVC) - Check Out e Workspace

Neste artigo veremos como o TFVC – Team Foundation Version Control através de operações básicas de controle de versões como Check In e Workspace podem proporcionar melhores práticas e opções no ato de sua utilização.

por Marcus Garcia



Check-out

O check Out é utilizado toda vez que você precisa acessar algum arquivo que esta no projeto com o objetivo de modificá-lo. Nesse momento o Check Out efetiva o conteúdo de seu Workspace fazendo com que ele seja liberado totalmente para manipulação (acesso completo). Vamos ver isso na prática agora mesmo:

  1. Com um projeto já versionado, clique com o botão direito do mouse sobre um arquivo do projeto e escolha Check Out (Figura1 – item 1, 2 e 3), aparecerá uma janela para você solicitando que seja escolhida uma das 3 opções que são: (Figura1 – item 4).

None – Não impede que outros usuários façam check in ou check out, ou seja, mantem compatilhado o arquivo escolhido;

Check Out – Não compartilha esse arquivo com ninguém, fica exclusivo com você até executar o próximo Check In;

Check In – Permite que outro usuário que já tenha efetuado Check Out antes de você ou outros usuários que tenham necessidade de utilizar esse mesmo arquivo faça uso do mesmo, porém, não permitindo Check In.

Figura1

  1. Escolha a opção None em nosso exemplo e nesse momento o arquivo escolhido passa a ser exclusivo a você (Figura2) até o próximo Check In.

Figura2

Para entender melhor o que aconteceu basta você acessar a janela Team Explorer escolher Source Control (Figura3 – item 1) dar um duplo clique e será remetido para o Source Control Explorer. Observe que o Workspace escolhidos é o DevA (Figura3 – item2), ou seja, a pasta local de armazenamento de projetos chama-se DevA, agora observe o Team Project onde esta armazenado seu Projeto (Figura3 – item3) e o estado que se encontram seus arquivos nesse momento (Figura3 – item 4), ou seja, em check out.

Figura3

Workspaces

Chegou a hora de entender melhor o que vem a ser Workspaces. Ter um Workspace significa ter uma pasta local de trabalho onde todas as alterações que você como desenvolvedor efetuar ficam armazenadas. Todas suas modificações que são efetuadas nos arquivos dos projetos ficam em Status de Pendente no Servidor até que você efetua o Check in que dessa forma efetuará o update no TFS.

Para acessar a janela que controla os Workspaces, vá para Source Control Explorer e acesse a Combo Box indicada na Figura4.

Figura4

Na indicação acima você vê a Combo Box que dá acesso ao gerenciamento de Workspaces, de acordo com o padrão de Boas Práticas, não é viável que você tenha mais que um Workspace por computador, mas podem existir situações onde seja necessário comparar mais de uma versão de código ao mesmo tempo e nessa situação torna-se interessante a prática de ter mais de um Workspace na mesma máquina.

Administrando seu Workspace

Ao clicar na palavra Workspaces dentro da Combo Box você é direcionado para a Janela Manage Workspaces (Figura5) que lhe oferece a possibilidade de ver todos os Workspaces que estão configurados dentro do TFS referido e também de Remover, adicionar ou editar seus Workspaces.

Figura5

Ao escolher um dos Workspaces já configurados, nesse caso o DevA você pode ver e editar os mapeamentos que já foram criados para esse Workspace (Figura6).

Figura6

Entendendo mapeamentos

Os mapeamentos são indicações de locais onde estão as pastas do TFVC correspondentes aos Team Projects e suas versões locais (em seu computador) referentes a esses mesmos projetos. A quantidade de mapeamentos é ilimitada sua edição, exclusão e alteração também. Sempre que for sincronizar pela primeira vez seu projeto, esse mapeamento será solicitado e nesse momento indique o local.

Sincronização de pasta local

No seu dia-a-dia, provavelmente você vai trabalhar em mais de um projeto ao mesmo tempo, sendo assim, precisará ficar totalmente atento as modificações que outro membro da equipe estão fazendo ou já fizeram, portanto sempre que for trabalhar localmente é necessário sincronizar seu projeto para ter certeza que esta com a versão mais atual. Nesse sentido o TFVC conta com o método GET. Existem dois tipos de GET são eles:

  • Get Latest Version
  • Get Specific version

Ambos podem ser acessados a qualquer momento tanto pelo botão direito do mouse sobre o projeto bem como pelo Source Control Explorer (Figura7)

Figura7

Ao executar o Get Latest Version você sincronizará sua cópia local com a última versão que existe no TFVC.

Ao executar Get Specific version você será apontado para outra janela onde necessitará informar o tipo de versão que gostaria de sincronizar, que podem ser: (figura8).

  • Changeset
  • Date
  • Label
  • Latest Version
  • Workspace Version

Figura8

Nessa tela também você encontra duas possibilidades opcionais que são: (Figura9)

  • Overwrite writeable that are not checked out
  • Force get of versions already in workspace

Figura9

Na primeira opção (Overwrite writetable that are not checked out), se ativada será ignorado qualquer arquivo local que não estão em modo de edição desta forma terá certeza que seu conteúdo considerado em Check in é idêntico ao do TFVC.

Na segunda opção (Force get of versions already in workspace), se ativada será forçada a atualização no workspace em uso mesmo que você possua arquivos idênticos desde a última atualização.

Conclusão

O TFVC – Team Foundation Version Control através de operações básicas de controle de versões como Check In e Workspace podem proporcionar melhores práticas e opções no ato de sua utilização.

Marcus Garcia

Marcus Garcia - Foi Microsoft MVP entre 2004 a 2009, faz gestão de Desenvolvimento de Software na Submarino (Grupo B2W), é autor de inúmeros artigos técnicos e livros, além de ter proferido treinamentos e palestras por todo o Brasil. Atualmente, um dos sócios do Centro de Treinamentos Profissionais Actiongroup (www.actiongroup.com.br) . Pode ser encontrado pelo e-mail marcus.garcia@actiongroup.com.br ou pode ser seguido pelo @marcusgarcia