Migrating from TFVC to Git with code history

To make it easier for you to switch from TFVC to Git, Azure DevOps server now provides an out-of-the-box migration workflow, called import repository. The import repository option can be reached from the code hub. This allows you to migrate a TFVC repository into Git with history. However, the tool only allows you to migrate up to 180 days' worth of history from your TFVC repository. Not being able to migrate the entire history from the TFVC repository may be a dealbreaker for some. The following image shows you how to get to the import repository dialogue, the image also shows the migrate history options available to you:

The import repository also allows you to import a Git repository, which is especially useful if you are looking to move your Git repositories from GitHub or any other public or private hosting spaces into Azure DevOps Server. 

You may also come across use cases where you need to migrate from the TFVC repository that is hosted in an Azure DevOps server that your new Azure DevOps server doesn't have direct access to through the network. In this recipe, we'll learn how to use the open source command line git-tf to migrate your TFVC projects with complete history into Git, and then publish the local Git repository into a new Git repository in Azure DevOps Server.