Copying a NuGet repository, all packages and all versions, using PowerShell

Today I needed to copy a full repo to my machine, and then I found some good ready-to-use commands in PowerShell. I created this based on the solution in this post, but it didn’t suffice for me as I would like to have all versions downloaded and not only the lastest.

It is simple, just we have to do it:

# Set the nuget source as trusted first, then it won't show any pop-ups
Set-PackageSource -Name NuGet-Source -Trusted

# Downloading...
Find-Package -AllVersions -Source NuGet-Source| ForEach-Object {
        Install-Package -Name $_.Name -MaximumVersion $_.Version -Destination 'C:\Temp\Nuget\' -Source NuGet-Source -SkipDependencies
}

 

Sometimes for some reason, the code above doesn’t return all packages from the remote repository. Then I found a way to do it from Package Manager Console within Visual Studio.
First I create a list of all packages this way (this code must be executed from Visual Studio, in Package Manager Console):

Get-Package -ListAvailable -AllVersions -IncludePrerelease -PageSize 122831 | ForEach-Object { $id = $_.Id; $_.Versions | ForEach-Object { ($id + ',' + $_.Version) } } > C:\Temp\Nuget\AllPackages.txt

Then I use PowerShell (out of Visual Studio):

Get-Content C:\Temp\Nuget\AllPackages.txt | ForEach-Object {
$package = $_.Split(',')
$id = $package[0]
$version = $package[1]

$path = ('C:\Temp\Nuget\' + $id + '.' + $version)

Write-Host $path
if(! (Test-Path -Path $path)) {
Install-Package -Name $id -MaximumVersion $version -Destination 'C:\Temp\Nuget\' -Source NuGetSource -SkipDependencies -AllowPrereleaseVersions
}
}

Effective TFVC branching strategies for DevOps

This post is based on the original article found in ALM Rangers GitHub.

This video is a hands-on based on the article Effective TFVC branching strategies for DevOps (link above), and it shows a good model for being used in TFVC when you want to implement CI/CD scenarios.

Articles about DevOps and Visual Studio Team Services

A volta para casa

Agora já estamos voltando. Tivemos que passar o dia em Atenas, por que o vôo seria somente as 17:00, e chegamos em Atenas as 7:00. O aeroporto fica bem longe do centro e o metro até o centro custou 24 euros. Fomos até o centro e ficamos passeando por lá, por partes que já haviamos passado, comemos novamente algumas comidas típicas e por volta das 14:00 voltamos para o aeroporto. Tínhamos deixado as malas no aeroporto, era um serviço cobrado por hora e felizmente funciona muito bem. Ficamos aguardando a hora no embarque sentados nas cadeiras do aeroporto, estávamos muito cansados e a Chris chegou até a dormir na cadeira, eu quase deitei no chão para tirar um cochilo 🙂

A volta foi por Paris (Charles de Gaulle), São Paulo (Guarulhos) e finalmente Curitiba.

TFVC to GIT to TFVC – is it possible?

YES! It is possible.

Well, there it is not very straight forward but after you get the correct tools, then it becomes very easy.

TFVC to GIT

In my tests I first converted a project from TFVC to GIT, it was done using the tool git-tfs. The easiest way to install it, it is using Chocolatey, with the command: choco install gittfs

After done the installation you can simply convert any TFVC in GIT, you can read more details in the previous link or simply run the command to fetch all the history for all branches:

git tfs clone https://tfs.codeplex.com:443/tfs/Collection $/project/trunk . --branches=all

commandtfvctogit

After that you must push the changes to a GIT repository:

git remote add origin https://github.com/user/project.git

For TFS your repository is found with this URL standard: http://yourserver:8080/tfs/Collection/ProjectName/_git/GitRepository (or https, changing the port to 443)

Now you can push the content:

git push --all origin

 

Then in the history, you can see this result comparing TFVC and GIT repositories:
comparetfvcgit

As you can see above all history was kept, even the dates and who did the change. Until here we have a great tool to move our TFVC project to GIT without losing any history.

GIT to TFVC

For this move I am using another tool, git-tf,  also it is very simple. Simple execute the code below to configure the git-tf tool:

git tf configure http://yourserver:8080/tfs/Collection “$\TeamProjectName” –force

I’m using the flag “force” to ensure that the configuration is being applied. Then you must check-in your project to the new team project:

git tf checkin –deep –autosquash –keep-author

Look how the history looks for GIT and TFVC now:

comparegittfvc

The new TFVC is created with the history, but the dates are not kept unfortunately the tool has such limitation.

 

Anyway, this approach can help some people to simply move from one to another.

DevOps – High-level overview

DevOps is a cultural change, is about reducing costs and solve complex deliveries in a shorter time.
It is about having a better process to solve issues, instead of keeping the responsibility on some specific people that were responsible for the implementation. Usually, the companies do not have some quick way to solve issues, or to deploy the solution quickly to the production. Sometimes the solution is quickly done in the code bug take ages to reach the production.

DevOps also will help to keep the process lean, removing waste, sometimes the projects are overloaded with extra stuff that simply will slow down the progress. It is not easy to filter out the waste, but it is crucial and the goal for DevOps.

It is all about adding more value to the customer. That’s the focus, the other side effects are related to it, so it will push your project to eliminate waste and reduce the cycle time.

References:
https://en.wikipedia.org/wiki/DevOps
https://app.pluralsight.com/library/courses/devops-big-picture/table-of-contents

Rodes

Quando achávamos que não teria mar mais bonito que aqueles que havíamos visitado, então chegamos em Rodes. Hotel ficava perto da praia, e era uma praia muito bonita. No dia que chegamos fomos dar uma volta para conhecer, já estava no final da tarde e vimos um pôr-do-sol lindíssimo. O segundo dia, seria o último dia de praia, então escolhemos ir a uma das praias mais conhecidas de Rodes, a praia de Lindos, com certeza foi uma das praias que mais nos impressionou, realmente estar lá parecia estar no paraíso, a paisagem em si era fantástica, acreditar naquele visual era difícil.

Iniciamos a visita pela praia de Lindos e depois fomos até St Paul’s bay e lá nos impressionamos novamente, enfim vejam o vídeo.

Creta

Chegamos de Ferry em Creta quando já estava escurecendo, a viagem foi bem rápida, e na chegada nosso transfer já estava lá esperando, era uma Mercedes bonita, e ficamos em um hotel bem localizado perto do porto. No mesmo dia fomos até um dos melhores restaurantes que comemos na Grécia, experimentamos espaguete com frutos do mar, indicação da recepcionista do hotel, que deu muitas dicas bem legais.

Creta é uma ilha gigante, e para ir a algumas das praias precisaríamos ter mais tempo e pegar um avião para ir até elas, então resolvemos ficar próximo a Iraklio onde estávamos hospedados, no segundo dia resolvemos passar na praia, e fomos até Agia Pelagia, uma das praias mais bonitas que fomos (tem muitas), por lá passamos o dia todo em um guarda sol, almoçamos por lá e no final do dia voltamos para o hotel, o transporte público é muito bom, tem até Wifi. O jantar foi no mesmo restaurando do dia anterior, e comemos um risoto com frutos do mar, que vinha até com king crab e vieiras.

O último dia em Creta foi bem tranquilo também, já estávamos cansados e resolvemos ir para outra praia bem perto. A tarde fomos até o aeroporto e partimos para Rodes, a última ilha.

Santorini

Chegamos a Santorini de Ferry também, a guia me explicou sobre o hotel em inglês, mas depois percebeu que eu falava português assim como ela, era brasileira e vivia na Grécia trabalhando em Santorini. Enfim, após a chegada no porto fomos até o hotel El Greco, que ficava bem no meio da caldeira, a ilha tem o formato de C, e a parte interna chamam de caldeira. Ficamos em Thira, perto de uma das partes mais conhecidas e bonitas da ilha. Tínhamos a vista para o mar dos dois lados da ilha. Ao entardecer pudemos conhecer o centrinho de Thira, e acabamos vendo o por-do-sol. Havia muita gente lá, passeamos por lá e comemos também, dessa vez foi suvlaki, mas não era muito bom, então pedimos gyros pyta, que não tem erro.

No segundo dia fizemos um tour pela ilha, fomos de barco até a parte mais ativa do vulcão que fica no meio da caldeira, lá houveram erupções 65 anos atrás, e ainda tem partes da terra que é ainda quente. Passamos pelas correntes quentes, e pudemos entrar na água também, tivemos que ir nadando até lá por uns 50 metros. A água era cor de barro e tinha cheiro de enxofre, devido ao calor. Depois fomos até a parte da ilha chamada Thirasia, almoçamos e entramos no mar com o snorkel, foi um dos mares mais bonitos, era uma região não muito explorada por banhistas, havia muitos ouriços e quando chegávamos a parte funda, era tão fundo que não víamos mais o chão, a sensação de estar voando era muito legal, chegava a dar medo. Após isso pegamos o barco em direção a Oia, onde tem o pôr-do-sol mais famoso da Grécia (tem gente que diz que é do mundo), ao descer no cais, tínhamos a opção de subir de burrinho ou ir a pé pelas escadarias, como tínhamos 4 horas por lá, resolvemos entrar no mar novamente. Interessante era a cor do fundo do mar, todo escuro, somente com pedras e sem areia, água muito cristalina e a uma temperatura perfeita para ficar por horas tomando banho, peixes por todos os lados e uma temperatura de quase 40º C todos os dias. Ao chegar no ponto que a vista para o pôr-do-sol é melhor, escolhemos um lugar e esperamos por lá por 2 horas, havia muita gente, e muitas pessoas tirando fotos. Tiramos fotos bem bonitas. Após o pôr-do-sol voltamos a Thira e para fechar a noite fomos ao centrinho para comer e tomar alguma coisa. Acabamos fazendo um Spa para pés, onde peixinhos dentro de um aquário ficam mordiscando os seus pés, é muito engraçado, e no final realmente parece que os pés estão diferentes.

No terceiro dia, pela manhã fomos a praia Kamari beach, com areias escuras. A praia é linda, a areia é basicamente de pedras vulcânicas, todas redondinhas, polidas pelas marés. Até trouxemos um punhado para casa. Depois da praia pegamos o ônibus e fomos até ao hotel para pegar a malas e partir para a próxima ilha, Ilha de Creta. Somente hoje tivemos energia para escrever, quase 2 meses depois da volta da lua-de-mel, as memórias ainda estão frescas, e parece que ainda estamos por lá de alguma forma.

Mykonos

Sabe quando você vai a um lugar esperando que ele vai ser muito bom, inesquecível, lindo, incrível, etc… E ele supera suas expectativas? Então, foi Mykonos.

Ao chegar no porto, passamos por aqueles momentos de tensão, não sabíamos se nosso transfer estaria ali ou não, mas logo no meio da multidão encontrei uma plaquinha com o nome do hotel, e depois outra com o Stawinski. Na ida até o hotel parecíamos duas crianças tirando fotos e olhando as janelas. No início o que impressionou foi a cor do mar, depois a maneira que eles constroem as casas, todas brancas com janelas azuis e todas com laje no lugar do telhado. Acho que é muito raro chover por lá.

Chegamos ao hotel Kamari, perto no mar, e de duas praias, Platis Gialos e Psarou… Primeiro fomos almoçar, e comemos mais um prato típico o Gyros, muito bom. Depois fomos para baixo do guarda sol, lá quando você consome algo no restaurante, geralmente tem direito a um guarda-sol e espreguiçadeiras para o dia todo. Dormimos um tempinho por lá, estava tudo muito bom. Depois fomos tomar um banho nas aguas cristalinas daquele mar, é inacreditável como a agua é limpa, dá para ver muito longe em baixo da agua. A areia da praia é basicamente formada de pedras pequenas, chega a doer o pé para andar e por isso não se vê ninguém correndo na areia.  Depois fomos até a praia ao lado, Psarou, e lá experimentamos a máscara e o snorkel, incrível, olhando por cima da agua já dá para ver os peixes, mas em baixo da agua é muito bonito, havia inclusive corais e algas marinhas que deixaram o visual impressionante. Depois fomos a Paranga beach, conhecida como praia de nudismo, mas fomos para ver o pôr-do-sol :).

No segundo dia, tínhamos o dia todo para aproveitar a ilha, fomos direto para a praia de Elia, lá vimos muita coisa diferente, algumas mulheres fazendo topless, sabíamos que lá também era famosa pelo nudismo, e percebemos ao caminhar pela praia onde os nudistas estavam, alguns ficam em qualquer lugar… Na verdade, lá o nudismo é permitido em todo lugar. Acho que dá mais vergonha estar com roupa do que pelado em uma praia de nudismo, pelo menos nos sentimos diferentes lá haha… Fomos até as pedras, porque geralmente nas pedras é mais bonito fazer snorkling, lá haviam várias prainhas, quase todas ocupadas por nudistas, mas encontramos uma vazia e ficamos lá um tempo. Foi um dos melhores pontos de mergulho que achamos. Volta e meia passava alguém pelado nadando, mas naquela altura já estava ficando normal. Fomos andando até a praia seguinte, Super Paradise, segundo nosso guia era muito longe ir, mas olhando o mapa achamos que dava para ir, e deu. Não é fácil, mas não é difícil também, o que complica um pouco é o calor. Chegando na Super Paradise, aproveitamos um pouco, entramos na agua andamos para ver os bares, o que torna a praia famosa é o agito das baladas por lá. Mas a praia em si, não achei mais bonito que as outras, é bonita, mas tanto quanto as outras. Ali vimos algumas pessoas praticando o nudismo também, o estranho era que no meio de um monte com gente de roupa as vezes você via algum pelado, e geralmente eram homens mais velhos. Depois andamos mais um pouco até a praia de Paradise, que pelo mapa era tranquilo ir, mas não tinham ruas para ir até lá, resolvemos arriscar um caminho, e chegamos a um ponto que para passar tivemos que passar por umas casas, e pular uma cerquinha haha. Mas foi tranquilo também, chegando na Paradise, achamos ela mais bonita que a Super Paradise, e até brincamos que os nomes estavam trocados. Lá ficamos bastante tempo, era bem legal mergulhar lá, bem bonito. Aconteceu algo bem curioso, a Chris foi mergulhar e voltou com uns óculos Ray Ban na mão, ela encontrou enquanto olhava os peixes, que sortuda né? Então depois de um tempo, vimos um casal entrando na agua, e notamos que eles estavam procurando algo no chão, fui lá perguntar, vi que eles falavam inglês, e perguntei o que eles estavam procurando. A menina disse, “meus óculos de sol, por que, você encontrou?”, aí eu dei uma rizada e falei, que a Chris tinha achado, a menina não acreditava, aí dei a ela os óculos e ficamos a um tempo lá conversando. Eles eram de New York, estavam na Grécia para estudar, mas antes de começarem as aulas foram passar uns dias nas ilhas gregas. Deram várias dicas de Santorini para a gente e ao se despedir a menina agradeceu novamente, pronto, já estava feita a boa ação do dia. Até falei para ela que eu não acreditaria se ela me contasse que perdeu os óculos e outra pessoa encontrou e devolveu, enfim acontece coisa boa as vezes também.

Continuamos a andar e fomos até Paranga beach novamente, dessa vez foi uma caminhada bem tranquila, e depois voltamos a nosso hotel. Para jantar fomos a um restaurante muito bonito com um visual para a praia que estávamos. Jantamos mariscos com mexiliões, em um prato grego chamado Saganaki e um Souvlaki de frutos do mar muito bom, e tomamos um vinho branco. A noite foi legal, mas estávamos cansados e ao chegar ao hotel tivemos a excelente notícia que sairíamos do hotel só após o almoço e ainda poderíamos aproveitar metade do dia em Mykonos.

No último dia, ficamos um pouco na piscina e na praia, foi muito bom e nos preparamos para ir a Santorini, onde estamos indo agora nesse momento que escrevo.

Delfos

Delfos foi uma das cidades que passamos na ida a Atenas, paramos lá por algumas horas, para visitar o museu e o parque arqueológico onde está o oráculo, segundo a tradição, o centro do universo e também tivemos um tempo para almoçar. Aqui começamos a se sentir na Grécia que vemos nos livros ou na national geographic, com aquelas estátuas antigas e ruínas de antes de Cristo. Visitamos as ruínas de uma cidade antiga, que foi encontrada a uns 200 anos atrás, lá havia um estádio, várias estátuas de deuses, escrituras em pedras, utensílios em argila e cobre. A cidade fica em uma montanha enorme, com uma visão para todo o vale, e essa visão é demais, tiramos muitas fotos. A visita foi a baixo de um sol de 30º, e as subidas eram muito inclinadas. Em Delfos experimentamos nosso primeiro prato típico grego, a Mousaka, uma espécie de escondidinho de carne moída com batata doce.