1. Introdução
O objetivo de um sistema de controle de versão é gerenciar diferentes versões de um determinado arquivo, oferecendo uma maneira mais inteligente e eficaz de organizar seu projeto. Ao implementar um controle de versões, será possível acompanhar um histórico de desenvolvimento e desenvolver paralelamente, bem como oferecer outras vantagens, como por exemplo customizar uma versão, realizar testes específicos, de layout e afins, ou resgatar o sistema em um ponto que estava estável, tudo isso sem mexer na versão principal.
Este artigo apresenta uma alternativa para a realização deste controle de versões de arquivos de projetos do Elipse E3 utilizando o Azure DevOps em conjunto com o Team Foundation Version Control.
2. Azure DevOps
O Azure DevOps (plataforma para a computação em nuvem) é uma ferramenta da Microsoft para gerenciamento de projetos e controle de versão, que pode ser utilizada gratuitamente por pequenas equipes, e é totalmente integrada com o Visual Studio, Git e Team Foundation Version Control. Em nosso exemplo, utilizaremos o Team Foundation Version Control.
3. Team Foundation Version Control (TFVC)
Este recurso é responsável por controlar versões, e é uma das principais capacidades inovadoras do Visual Studio Team System. Para entender o funcionamento do TFVC, é necessário familiarizar-se com alguns comandos principais:
Check In: Enviar os arquivos para o repositório no Azure. São feitos geralmente a cada nova alteração ou implementação de um recurso importante.
Check Out: Faz o download do último Check In feito no servidor, e consequentemente deixa o arquivo disponível para edição e posterior envio (Check In).
4. Funcionamento e Configuração
Para o controle de versões, siga estes procedimentos.
4.1. Criando o Repositório e o Projeto no Azure
Para utilizar o Azure DevOps, acesse a ferramenta através de uma conta Microsoft (Hotmail, Outlook, Live etc.) e realize algumas configurações, como o nome do repositório Azure DevOps (Figura 1).
O repositório serve como um depósito, uma “caixa” onde os projetos são guardados. Este repositório é acessado a partir da URL, e é possível ter vários repositórios em uma única conta. Após ser nomeado, ele será exibido no seguinte formato: https://dev.azure.com/ nomedorepositorio/.
O projeto ElipseSoftware também foi criado juntamente com o repositório, selecionando o tipo de sistema de controle de versão como Team Foundation Version Control.
Figura 2: Projeto ElipseSoftware
A partir do endereço https://dev.azure.com/repositorioelipse/ElipseSoftware, é possível ter acesso a tela do painel de gerenciamento do repositório.
Figura 3: Painel de Gerenciamento do Repositório
4.2. Usando o Controle de Versão
Ao criar o projeto, foi definido que o tipo de controle de versão utilizado seria o TFVC; portanto, agora é necessário instalar um cliente que faça a conexão com o repositório. O Visual Studio possui uma área totalmente voltada a projetos compartilhados, que é o Team Explorer.
Para localizá-lo, vá até o menu VIEW e selecione a opção Team Explorer. O Team Explorer conecta o Visual Studio aos repositórios de controle de versão do Team Foundation (TFVC). Neste artigo foi utilizado o Visual Studio Community 2022.
Figura 4: Instalação Visual Studio
5. Configuração do Controle de Versão dos Projetos Elipse E3
Para configurar o controle de versão dos projetos, siga estes procedimentos.
5.1. Após executar o Visual Studio, vá até o menu Viex/Exibir e selecione a opção Team Explorer. É preciso primeiro selecionar a opção Connect to Team Projects.
Figura 5: Connect to Team Projects
5.2. Em seguida, é possível realizar login em sua conta associada ao Azure DevOps, e todos os repositórios hospedados serão exibidos:
5.3. Após configurar o projeto do repositório, configure a Workspace, que é o endereço no computador local onde os arquivos de projetos do E3 estão localizados. Neste caso o caminho é C:\Workspace_E3.
Figura 7: Workspace
5.4. Para finalizar o processo de seleção da workspace, é necessário clicar na opção Map & Get.
Figura 8: Map & Get
5.5. Para informar ao controle de versão quais arquivos devem ser controlados, selecione a opção Detected na opção Excluded Changes. Uma nova janela será aberta mostrando os arquivos contidos na Workspace. Selecione o arquivo .PRJ desejado e clique na opção Promote.
Figura 9: Selecionar arquivos
5.6. A partir de então, é possível realizar o primeiro Check In, ou seja, enviar a primeira versão do arquivo para o repositório. NOTA: o comentário inserido antes da realização do update é muito importante, pois será através dele que são identificadas as diversas versões geradas.
Figura 10: Check In
5.7. A versão inicial do projeto existente na aplicação E3 contém a seguinte imagem como tela inicial do Viewer:
Figura 11: Versão Inicial
5.8. Para realizar alterações no projeto, é necessário realizar um Check Out. O Source Control Explorer mostrará que o arquivo está em edição, informando qual usuário realizou a operação. Nesta alteração, a imagem de fundo da tela inicial foi removida.
Figura 12: Check Out
Figura 13: Arquivo em edição
5.9. Após realizar as alterações, deve-se realizar um novo Check In para enviar os arquivos para o repositório, não esquecendo de inserir um comentário.
Figura 14: Novo Check In
5.10. A versão 2 do projeto contém a seguinte imagem como tela inicial do Viewer, depois da remoção da imagem de fundo:
Figura 15: Versão 2
5.11. Para visualizar todas as versões existentes, selecione o projeto existente no repositório em Folder e clique na opção History.
Figura 16: History
5.12. Note que há duas versões registradas. Iremos restaurar a versão Inicial, clicando com o botão direito e selecionando a opção Get This Version. Para isto, o E3 Studio deve estar fechado e o domínio deve estar parado.
Figura 17: Versões registradas
5.13. Versão inicial recuperada:
Figura 18: Versão Inicial recuperada
5.14. Uma mensagem informando que a versão atual do Server é diferente da versão local será exibida, e então devemos escolher qual versão deverá ser utilizada (versão local recuperada ou versão corrente do repositório) para posterior Check In.
Figura 19: Conflito de Versões
5.15. Através do painel de gerenciamento do repositório na web, também é possível verificar e realizar o download das diversas versões geradas.
Figura 20: Versões disponíveis no Repositório