Migrando um Shelveset entre Branches diferentes

Olá galera!

Hoje vamos trabalhar com o seguinte cenário:

Um desenvolvedor inicia seu desenvolvimento em uma Branch X.

O mesmo realiza um shelve do desenvolvimento, e após um período necessita que o mesmo seja migrado para uma Branch Y.

Como fazer?

Para este tipo de execução, utilizaremos dois tipos de comandos:

– tf shelvesets

– tfpt unshelve /migrate

 

 

Buscando um Shelveset, por usuário

 

O que são, estes comandos?

Tf shelvesets: utilizado para podermos listar todos os Shelvesets gerados para um usuário em específico.

Tfpt unshelve /migrate: utilizado para realizar a migração do código de um Shelveset de uma Branch X para outra Branch Y.

 

Como utilizar?

Abra o prompt de comando Developer Command Prompt for VS2015, localizado no caminho C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools

Utilizar o comando: tf shelvesets /owner:user /collection:url_collection

Owner: usuário que realizou o Shelve.

Collection: URL da Collection.

img01

 

Você também pode utilizar o próprio prompt do Windows, com o comando abaixo:

Cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE

tf shelvesets /owner:user /collection:url_collection

 

img02

 

Pronto, já localizamos o Shelveset Alteracao de arquivo txt, do usuário Julia Ilyiana (VSALM\Julia).O mesmo foi realizado na Branch abaixo:

 

img03

Porém, gostaria de migrar o mesmo para Branch Dev, localizada em $/FabrikamFiber/Dev

 

 

Migrando um Shelveset para uma Branch diferente

 

Instale o Microsoft Team Foundation Server 2015 Power Tools

Certifique-se que as Branches de origem(Source) e destino(Target) estejam atualizadas com a última versão. Caso contrário, efetue um Get Latest Version.

 Origem: Main

 Destino: Dev

Abra o prompt, onde iremos executar o comando abaixo de dentro da pasta da bBranch de origem, localizada em seu Workspace local:

Cd C:\Users\Julia\Source\Workspaces\FabrikamFiber\Main

tfpt unshelve /migrate /source:”$/FabrikamFiber/Main” /target:”$/FabrikamFiber/Dev” “Alteracao de arquivo txt”;Julia

Source: Branch de origem

Target: Branch de destino

Shelveset name;Owner: nome do Shelveset;usuário que realizou o Shelveset.

img04

 

Após a execução do comando, será exibida a janela abaixo:

img05

Clique em Unshelve.

Neste processo será realizado um unshelve da Branch de origem, criando logo em sequência o novo Shelve na Branch de destino.

 

Resolva os conflitos existentes.

img06img07

 

Shelveset migrado com sucesso.

img08

 

Após a migração, o arquivo ficará pendente na Branch de destino, para novo Shelve.

E também ficará preservado o Shelve anterior 🙂

img09

 

Neste caso quero aplicar somente o Shelve na Branch Dev. Removo os arquivos da Branch Main e aplico o novo Shelve.

img10

img11

Utilize novamente o comando tf shelveset, para listar os Shelvesets no usuário.

img12

 

Como podemos ver, ficamos com os dois Shelvesets preservados no servidor.

Caso não queira manter o anterior, podemos excluí-lo, utilizando outro comando relacionado a Shelve.

Mas para este tema, criaremos um novo post 🙂

Espero que tenham gostado.

 

Até a próxima, galera!