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.