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.
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
Pronto, já localizamos o Shelveset Alteracao de arquivo txt, do usuário Julia Ilyiana (VSALM\Julia).O mesmo foi realizado na Branch abaixo:
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.
Após a execução do comando, será exibida a janela abaixo:
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.
Shelveset migrado com sucesso.
Após a migração, o arquivo ficará pendente na Branch de destino, para novo Shelve.
E também ficará preservado o Shelve anterior 🙂
Neste caso quero aplicar somente o Shelve na Branch Dev. Removo os arquivos da Branch Main e aplico o novo Shelve.
Utilize novamente o comando tf shelveset, para listar os Shelvesets no usuário.
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!