01/06/2006 | Autor: Igor Abade V. Leite | Categoria: Técnico | Comentários

Cadê o meu arquivo?!

Ter um sistema de controle de versão (TFS) integrado ao ambiente de desenvolvimento (Visual Studio 2005) pode ser ao mesmo tempo uma benção e uma maldição. Se por um lado temos a conveniência da automatização de boa parte da interação com o servidor – por exemplo, não precisamos mais fazer check-out manualmente – por outro lado esquecemos como interagir com a ferramenta e todos os seus recursos. Por vezes, nem sabemos quais recursos existem, pelo simples fato de que a integração TFS-VS2005 oculta esses recursos. Mais um caso verídico ocorrido aqui na empresa: Um desenvolvedor apagou um arquivo de um de seus projetos através do Solution Explorer (figura 1). E, como não podia deixar de ser, mudou de idéia :)

Figura 1

“Para restaurar o arquivo”, no raciocínio dele, “basta desfazer as alterações do controle de versão e tudo volta ao normal.” Assim, ele usou o comando “Undo Pending Change” no projeto, crente de que isso traria de volta o arquivo que ele apagou (figura 2). Porém, qual não foi a surpresa dele ao ver que o arquivo não foi restaurado!

Figura 2

O arquivo não existia na máquina do usuário (afinal fora apagado) e “Undo Pending Change” não trazia o arquivo de volta. Adivinhe se o TFS já não ganhou alguns apelidos pouco elogiosos com isso… Por que ele não conseguiu recuperar o arquivo? Porque os comandos executados via Solution Explorer aplicam-se apenas aos itens presentes na solução. Como o arquivo tinha sido removido do projeto e depois apagado, ele não existia mais na solução. Portanto, o comando “Undo Pending Change” não o afetava. Ao abrir o Source Control Explorer (figura 3), ele entendeu o que aconteceu – e como resolver o problema.

Figura 3

Assim, a dica é: Na dúvida, verifique o Source Control Explorer (acessível via Team Explorer). Por ali você consegue interagir com todos os itens do repositório, independentemente de eles estarem ou não vinculados a uma solução. Ah, em tempo: E se ele tivesse feito o check-in, confirmando a deleção do arquivo? Como ele poderia ser recuperado? Bom, para isso, primeiro você precisa habilitar uma configuração no Visual Studio (Tools, Options). A opção “Show deleted items in Source Control Explorer” (figura 4) deve estar ligada – o padrão é desligada. A partir daí, itens apagados aparecem no Source Control Explorer e podem ser recuperados (figura 5).

Figura 4 Figura 5