Rules

Secret ingredients to quality software

Edit
Info

Do you know the best tool to migration from TFVC to Git?

Last updated by Kaique Biancatti on 21 Jun 2018 05:08 am (about 3 years ago) See History

Git has become the defacto standard for version control systems. It's distributed and decentralized and promotes working disconnected as default. It also takes away the pain of branching and merging and has a built in code review system with pull requests. Everybody should be using Git, and if you're not, you should be migrating the Git using one of the below tools.

  • VisualStudio.com - Import Repository
  • Git-Tf
  • Git-Tfs (recommended)

VisualStudio.com - Import Repository

VisualStudio.com gives you the ability to import from a TFVC repository into a new Git repository.

03 29 08

Bad Example - Built in tool has several limitations

If you don't care about source control history, then this inbuilt tool is the easiest to use. It has the limitations of:

  • 180 days of history
  • No branches

TIP - Use this if you don't care about source control history

Git -Tf

Git-Tf is an open source command line tool that works cross platform and use the Java TFS SDK. This tool is useful for migration if you're not on a Windows environment. This tool is not maintained and has issues with migrating branches.

To see how to use this to migrate see "Migrate an existing project from TFS to Git with changeset history intact" from Chris Kirby

TIP - Use Git-Tf if you don't have a Windows environment

Git-Tfs ( Recommended)

Git-Tfs is an open source command line tool that uses the .NET TFS SDK to interface between Git and TFVC. It has the following advantages over the other tools:

  • Actively maintained
  • Good support for branches
  • Author mapping
  • Migrates all history

Follow the migration guide to import from TFVC to Git and then proceed with the after migration steps. To help you do a smoother migration, you can refer to this tool.

Adam CoganAdam Cogan
Eric PhanEric Phan
Danijel MalikDanijel Malik

We open source. This page is on GitHub