Este artigo tem como objetivo mostrar uma solução para fazer merge de diferentes versões de código gerado pelo Windows App Studio, usando uma ferramenta gratuita chamada Source Tree.
Introdução
O Windows App Studio é um serviço que permite qualquer pessoa, sem conhecimentos de programação, criar aplicações Windows Phone 8.1 e Windows Store apps em apenas 4 passos: ter uma ideia, adicionar conteúdo, escolher os estilos e por fim usar a aplicação. Este serviço fornece vários templates para ajudar a criar vários tipos de aplicações e com isto a criação das aplicações irá ser mais rápido.
Quando uma aplicação é criada no Windows App Studio é possível obter o código fonte para se poder correr a aplicação no simulador ou em qualquer dispositivo Windows Phone 8.1 ou Windows 8.1, com o objetivo de testar a aplicação, e ainda pode-se adicionar novas funcionalidades ou alterar alguma existente. Desta forma, um utilizador que pretenda alterar a aplicação no Visual Studio e no Windows App Studio vai ter que fazer a gestão de versões, uma vez que o Windows App Studio não permite fazer upload da versão alterada no Visual Studio. E em alguns casos é necessário fazer o merge de versões para que a aplicação final contenha todas as alterações ao longo do tempo.
Neste artigo vamos ver uma solução que irá facilitar o processo de merge entre versões usando uma ferramenta gratuita, o Source Tree que disponibiliza uma GUI para gerir repositórios e será usado repositórios Git.
Descrição
Suponhamos que criámos uma aplicação no Windows App Studio, usando o template Empty App, e de seguida geramos a aplicação (mesmo sem fazer qual alteração). Para ajudar na gestão de versões, digamos que iremos gerar a versão 1.0.0.0.
No fim da versão ser gerada é possível obter os packages para instalar nos dispositivos e é possível obter o código fonte, como podemos ver na imagem seguinte:
No fim de extrair o conteúdo obtido iremos ter algo do género:
Antes de efetuar alterações no Visual Studio é importante guardar esta versão no “controlo de versões”, mas para isso é necessário a ferramenta Source Tree.
Depois de se instalar o Source Tree, deveremos abrir a aplicação para iniciarmos o processo de controlo de versões.
Para começar, devemos clicar em Clone/New e em seguida devemos clicar em Create new repository, como podemos ver na imagem seguinte:
No fim de termos todos os campos preenchidos devemos clicar em Create para desta forma criamos o repositório Git na pasta pretendida, visualmente iremos ter uma representação gráfica como é descrita na imagem seguinte:
Se clicarmos em Open in Explorer iremos abrir a pasta onde se encontra o repositório e de seguida devemos copiar o código obtido anteriormente para esta pasta, cujo o resultado será:
Nota: A pasta .git
é uma pasta escondida que não pode ser apagada, uma vez que é nesta pasta que o Git irá gerir as versões e o Source Tree irá usar isto através do Git.
Portanto, uma vez que já temos o código na pasta do repositório, ao voltarmos para a aplicação Source Tree, iremos ter algo do género:
O que significa que os ficheiros adicionados estão no estado Unstaged files e uma vez que pretendemos guardar a informação de todos os ficheiros, devemos passá-los para Staged file, cujo resultado é apresentado na imagem seguinte:
Desta forma, podemos fazer um commit, que não é mais do que guardar uma versão do código.
Para cada commit deve ser definido um comentário para descrever as alterações efetuadas, como podemos ver na imagem seguinte:
Depois do comentário estar definido devemos clicar em Commit e o resultado será algo do género:
Neste momento a primeira versão do código está guardada e podemos proceder às alterações do código no Visual Studio. Por exemplo, podemos alterar o Application Name e o Application Title definido no App.xaml
, como podemos ver na imagem seguinte:
De seguida, no Source Tree, podemos ver as alterações efetuadas:
Desta forma, iremos ter o ficheiro App.xaml
no Unstaged files e do lado direito podemos ver as alterações do ficheiro, sendo que a vermelho é destacado a informação que foi removida e a verde a informação adicionada.
Efetuando um novo commit como foi descrito anteriormente, iremos ter
Neste momento, temos a versão inicial do Windows App Studio e a alteração feita no Visual Studio. Voltemos agora ao Windows App Studio para efectuar as seguintes alterações:
- Alteração do nome da aplicação para “Microsoft Band News”
- Adicionar o feed da página do facebook https://www.facebook.com/MicrosoftBand
Depois destas alterações, podemos generar uma nova versão, digamos que será a versão 2.0.0.0:
Assim que a nova versão tiver disponível, devemos copiar o código para a pasta que contém o repositório e no Source Tree iremos ver todas as diferenças entre as duas versões:
Em Unstaged files, os icons a amarelo significa que o ficheiro foi alterado e o icons a azul significa que o ficheiro foi adicionado. Selecionando cada ficheiro iremos ver do lado direito as diferenças (a verde teremos as novas alterações e a vermelho o que foi removido).
Por exemplo, se selecionarmos o ficheiro App.xaml
, iremos ter:
Para além de passarmos os ficheiros para Stage files, é possível fazê-lo passando apenas blocos ou linha de código, sendo também possível descartar as alterações.
Para o caso de querermos descartar um bloco de código, devemos clicar no Discard hunk, como podemos ver na seguinte imagem:
Para o caso de descartar uma linha, devemos seleccioná-la e depois clicar em Discard lines, no entanto é preciso descartar a “verde” e a “vermelha”.
Desta forma, cada alteração pode ser seguida e é possível visualmente ver todas as alterações, e claro o utilizador pode aceitar e rejeitar consoante os requisitos da aplicação.
Conclusão
Em conclusão, usando uma ferramenta com o Source Tree é possível fazer merge de código de uma forma simple sem ser necessário conhecimento sobre versionamento de código.